Невозможно найти кнопку через Selenium для Python - PullRequest
2 голосов
/ 04 октября 2019

Я хочу найти кнопку входа на веб-сайте через Selenium WebDriver и щелкнуть ее. HTML-код выглядит следующим образом:

<a class="myLoginButton" href="#" 
onclick="fireLoginOrRegisterModalRequest('sign_in');ga('send', 'event', 
'service_navigation', 'login', '1st_level');">
Login
</a>

Но независимо от того, какой метод я использую для нахождения этой кнопки, я всегда получаю ошибку:

selenium.common.exceptions.NoSuchElementException: Сообщение: нет такого элемента: Невозможно найти элемент

Я уже попробовал следующее:

driver.implicitly_wait(10)
login_button = driver.find_element_by_class_name('myLoginButton')
login_button.click()

# login_button = driver.find_element_by_xpath('//button[text()="Login"]')
# login_button = 
# driver.find_element_by_xpath("//button[@class='myLoginButton'] 
# [.='Login']")
# login_button = driver.find_element_by_css_selector('myLoginButton')

Закомментированные строки - альтернативные методы, которые я использовал.

Пожалуйста, будь осторожен со мной. Я новичок в Python и Selenium.

Заранее спасибо!

1 Ответ

0 голосов
/ 04 октября 2019

В случае, если есть iFrame (форма входа в систему, содержащаяся в iframe), вам нужно переключиться на

driver.implicitly_wait(10
driver.switch_to.frame('Example')
login_button = driver.find_element_by_class_name('myLoginButton')
login_button.click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...