Невозможно найти элемент Selenium - PullRequest
0 голосов
/ 14 мая 2019

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

<button class="btn-standard call-to-action">Login</button>

Я пытаюсь найти его с помощью:

btn = driver.find_element_by_css_selector("btn-standard.call-to-action")

И тогда я должен выполнить btn.click()

Но когда я пытаюсь запустить код, я получаю эту ошибку:

 no such element: Unable to locate element: {"method":"css 
selector","selector":"btn-standard.call-to-action"}

Как я могу это исправить?

Ответы [ 3 ]

1 голос
/ 14 мая 2019

Попробуйте это

btn = driver.find_element_by_css_selector(".btn-standard.call-to-action")

Вам не хватает точки в начале css_selector , поэтому она ищет элемент btn-standard, а не класс. И нет такого элемента, как btn-standard

Также вы можете попробовать тип элемента с классом так:

btn = driver.find_element_by_css_selector("button.btn-standard")

Или любое сочетание класса и типа элемента

0 голосов
/ 14 мая 2019

Вы даже можете использовать xpath:

btn = driver.findElement(By.xpath("//button[contains(text(),'Login')]"))
0 голосов
/ 14 мая 2019

Для селекторов CSS '.'добавляется в начале только для класса.Можете ли вы попробовать это:

       btn = driver.find_element_by_css_selector("button.btn-standard")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...