#python #selenium
#python #селен
Вопрос:
Как мне выбрать элемент текстового поля на странице twitch?
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
op = Options()
op.add_argument("user-data-dir=C:\Users\bestg\AppData\Local\Google\Chrome\bor")
driver = webdriver.Chrome(options=op)
driver.get('https://www.twitch.tv/mizkif')
#trying to click the chat box
chat = driver.find_element_by_id('chat-input')
chat.click()
chat.send_keys('hi')
Ответ №1:
Пожалуйста, используйте этот xpath
//textarea[@data-test-selector='chat-input']
Пробная версия кода 1 :
time.sleep(5)
driver.find_element_by_xpath("//textarea[@data-test-selector='chat-input']").send_keys('hi')
Пробная версия кода 2 :
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//textarea[@data-test-selector='chat-input']"))).send_keys('hi')
Импортирует :
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Ответ №2:
Было бы лучше, если бы вы использовали xpath, а также разрешили загрузку webdriver с помощью WebDriverWait
Подробнее читайте здесь
Вы должны использовать что-то вроде этого:
WebDriverWait(driver, 20).until(expected_conditions.presence_of_element_located((By.XPATH, "//*[@data-a-target="chat-input"]")))