Selenium Python Нажмите на кнопку с логотипом - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь нажать на кнопку с логотипом после нескольких загрузок, чтобы вернуться на исходную страницу.Но это не работает и выдает следующее исключение:

NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"brand.brand-bv"}

Структура такова:

<a class="brand brand-bv" href="https://workbench-c4.bazaarvoice.com">
  <span class="visuallyhidden">Bazaarvoice:</span>
</a>

Мой текущий код такой:

logo_button = driver.find_element_by_css_selector("brand.brand-bv")                                                      
logo_button.click()

enter image description here

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Вы также можете попытаться добиться того же, используя xpath, так как он более гибок в использовании, найдите элемент, сохраняющий его в переменной e, затем проверьте его длину, если он присутствует, затем только щелкните, вы также можете попробовать использовать элемент wait для ожидания перед тем, как фактическина нем.

e = driver.find_element_by_xpath("*//a[href='https://workbench-c4.bazaarvoice.com']")

if len(e) > 0
    e[0].click()

синтаксис

driver.find_element_by_xpath("*//TAGNAME[ATTRIBUTENAME='ATTIBVALUE']")
0 голосов
/ 24 октября 2018

brand также является классом, если вы используете css_selector, он должен иметь ведущий .

driver.find_element_by_css_selector(".brand.brand-bv")

brand.brand-bv означает элемент с тегом brand и brand-bv class

<brand class="brand-bv"/>

Вы также можете добавить некоторое время ожидания загрузки элемента

logo_button = WebDriverWait(driver, 10).until(expected_conditions.visibility_of_element_located((By.CSS_SELECTOR, ".brand.brand-bv")))

Вам необходимо импортировать

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...