unable to locate element Selenium webdriver

Привет. Заранее спасибо за ответ.


Проблема в том что не находит кнопку “Написати листа “, ошибка unable to locate element.
Питался через xpath. css. и тд ,на скрине путь прописал руками , тоже не работает
.
driver.findElement(By.xpath(”//aside[@class=‘sidebar’]/button[@class=‘default compose’]”)).click();

Подскажете пожалуйста в чем проблема , или видосик по теме , может я что то упустил( не давно начал изучать).Спасибо.

Возможно в тот момент, когда вы пытаетесь кликать по кнопке, она еще не подгрузилась. Попробуйте ожидание.

проблема в теге aside
попробуйте так //*[local-name()=‘aside’ and contains(@class,‘sidebar’)]/button[contains(@class,‘default’) and contains(@class,‘compose’)]

JavaScript error: , line 0: uncaught exception: undefined
и снова ошибка unable to locate element.

“JavaScript error: , line 0: uncaught exception: undefined” - то ти где такое получаешь ?

Попробуй css:

#content > aside > .default.compose

Или такой xpath:

//div[@id='content']//button[@class='default compose']

Набросал на коленке код. Работает xD

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

login = 'your_login'
password = 'your_password'
chrome_path = r'C:\\_Tools\\chromedriver.exe'

driver = webdriver.Chrome(chrome_path)

driver.get('https://mail.ukr.net/')
driver.find_element_by_id('login').send_keys(login)
driver.find_element_by_id('password').send_keys(password)
driver.find_element_by_css_selector('.login__foot>button').click()

wait = WebDriverWait(driver, 30)
button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, '.default.compose')))
button.click()

там мерионнет в логах пишет о accessebility role - попробуй без @class - //*[local-name()=‘aside’]/button[text()]

css- JavaScript error: , line 0: uncaught exception: undefined
xpath-Unable to locate element

Unable to locate element

Написал в ЛС. Проверь плиз.

Вообще по логу - ругается не на эту строку, а на другое совсем.

Проблема решилась.
Нужно было просто переключиться в нужное окно браузера.

я не свичнул окно, спасибо за ответ)

я не сменил окно, спасибо за ответ)

Try css selector By.cssSelector(“div#content button.default.compose”)