Не могу найти объект, на который мне нужно нажать - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь найти и щелкнуть элемент на боковой панели веб-страницы protonmail, но мне трудно его найти.

enter image description here

openProtonTab = driver.execute_script("window.open('https://mail.protonmail.com/login','proton window')")
openProtonTab

pageSwitch = driver.switch_to.window(driver.window_handles[1])
pageSwitch

protonEmail = driver.find_element_by_id('username')
protonEmail.send_keys('botusername')

protonPass = driver.find_element_by_id('password')
protonPass.send_keys(botpassword)

loginButton = driver.find_element_by_xpath('//*[@id="login_btn"]')
loginButton.click()


WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='ptSidebar'] and @id='pm_sidebar']/button']")))

compose = driver.find_element_by_xpath('//*[@id="pm_sidebar"]/button')
# didnt work either compose = driver.find_element_by_class_name('compose pm_button sidebar-btn-compose')
compose.click()

Как найти элемент compose и щелкнуть по нему?

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

После быстрого просмотра кажется, что xpath не в правильном формате, поэтому вместо //*[@id="pm_sidebar"]/button используйте //*[@id='pm_sidebar']/button, похоже, он мне подходит.

0 голосов
/ 18 февраля 2020

Проверьте, находится ли элемент в iframe, и если он находится в iframe, попробуйте этот фрагмент кода

iframe = driver.find_element_by_xpath('//iframe[contains("element location")]'),
driver.switch_to.frame(iframe)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...