Dima_TOK
(Дима ТОК)
May 2, 2017, 10:34am
#1
Привет. Заранее спасибо за ответ.
Проблема в том что не находит кнопку “Написати листа “, ошибка unable to locate element.
Питался через xpath. css. и тд ,на скрине путь прописал руками , тоже не работает
.
driver.findElement(By.xpath(”//aside[@class=‘sidebar’]/button[@class=‘default compose’]”)).click();
Подскажете пожалуйста в чем проблема , или видосик по теме , может я что то упустил( не давно начал изучать).Спасибо.
Возможно в тот момент, когда вы пытаетесь кликать по кнопке, она еще не подгрузилась. Попробуйте ожидание.
Taras
(Taras)
May 2, 2017, 12:37pm
#3
Dima_TOK:
aside
проблема в теге aside
попробуйте так //*[local-name()=‘aside’ and contains(@class ,‘sidebar’)]/button[contains(@class ,‘default’) and contains(@class ,‘compose’)]
Dima_TOK
(Дима ТОК)
May 3, 2017, 1:20pm
#4
JavaScript error: , line 0: uncaught exception: undefined
и снова ошибка unable to locate element.
Taras
(Taras)
May 3, 2017, 1:43pm
#5
“JavaScript error: , line 0: uncaught exception: undefined” - то ти где такое получаешь ?
Mes
(Bolatbek)
May 3, 2017, 1:53pm
#8
Попробуй 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()
Taras
(Taras)
May 3, 2017, 2:06pm
#10
там мерионнет в логах пишет о accessebility role - попробуй без @class - //*[local-name()=‘aside’]/button[text()]
Dima_TOK
(Дима ТОК)
May 3, 2017, 2:25pm
#12
css- JavaScript error: , line 0: uncaught exception: undefined
xpath-Unable to locate element
Mes
(Bolatbek)
May 3, 2017, 2:32pm
#14
Написал в ЛС. Проверь плиз.
Mes
(Bolatbek)
May 3, 2017, 2:47pm
#15
Вообще по логу - ругается не на эту строку, а на другое совсем.
Mes
(Bolatbek)
May 3, 2017, 2:56pm
#16
Проблема решилась.
Нужно было просто переключиться в нужное окно браузера.
Dima_TOK
(Дима ТОК)
May 3, 2017, 2:57pm
#17
я не свичнул окно, спасибо за ответ)
Dima_TOK
(Дима ТОК)
May 3, 2017, 2:57pm
#18
я не сменил окно, спасибо за ответ)
Try css selector By.cssSelector(“div#content button.default.compose”)