Мой код селена не работает и дает элемент не взаимодействует ошибка - PullRequest
0 голосов
/ 06 ноября 2019

Я перепробовал все от ожидания до xpath, но это как-то не работает, я хочу ввести какое-то значение в поле ввода на странице с идентификатором, но оно не становится взаимодействующим, любая помощь будет принята.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("https://voip.ms/login")

wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.XPATH,   '//input[@id="username"]')))
element.click()

1 Ответ

0 голосов
/ 06 ноября 2019

Вам не нужно щелкать поле ввода, вместо этого вам нужно send_keys() имя пользователя напрямую. Однако, похоже, что есть два поля ввода с id="username", и вы выбираете первое, а не то, которое вам нужно.

Чтобы обойти это, можно получить оба из них, используя driver.get_elements_by_xpath(), а затем выбрать второе (это не лучший метод, вместо этого вы должны найти уникальный идентификатор для поля ввода). Пример получения их обоих и выбора второго:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://voip.ms/login")
element = driver.find_elements_by_xpath('//input[@id="username"]')[1]
element.send_keys('your username')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...