отправка ключей на сложный элемент в селене (Python) - PullRequest
0 голосов
/ 05 апреля 2020

Я использую селен. Исходный код элемента:

<input tabindex="5" class="buttonStyle" onclick="submitForm('SEARCH','');return false" type="submit" value="Search">

css показывает

input[type='submit']

Код, который я использую:

driver.find_element_by_xpath("//input[@type='submit']").click();

driver.find_element_by_css_selector("input[type='submit']").click()

Оба не работают как и ожидалось. Приведенный ниже код также не работает:

driver.find_element_by_xpath("//a[@onclick='submitForm('SEARCH','');return false']").click()
InvalidSelectorException: Message: Unable to locate an element with the xpath expression //a[@onclick='submitForm('SEARCH','');return false'] because of the following error:
Error: Bad token, expected: ] got: SEARCH

Я использовал проверку XPATH в проводнике inte rnet (любимая страница с именем MRI). Показывает целевой элемент. Однако приведенный выше код не работает. Я использую Jupyter Notebook, Selenium и Inte rnet Explorer (страницу можно открыть только в IE)

1 Ответ

0 голосов
/ 05 апреля 2020

Ошибка показывает, что данное XPATH недопустимо. Похоже, у вас есть дополнительный ']' в xpath. Пожалуйста, обновите его.

wait = WebDriverWait(driver, 20)
button = wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@type='submit']")))
button.click()

Добавьте ниже импорта в ваше решение

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...