Как найти элемент по имени класса и указанному c имени атрибута одновременно - PullRequest
0 голосов
/ 08 января 2020

Я использую selenim python и хочу найти следующий элемент:

<div id="coption5" class="copt" style="display: block;">

Мне нужно имя класса 'copt' и значение стиля "display: block;" , есть ли способ найти этот элемент одновременно с именем класса и значением атрибута?

Спасибо!

1 Ответ

1 голос
/ 08 января 2020

Incase, учитывая, что стиль значение display: block; является обязательным, вы можете вызвать WebDriverWait для visibility_of_element_located(), и вы можете использовать любой из следующих Стратегии локатора :

  • Использование CSS_SELECTOR:

    element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.copt[id^='coption']")))
    
  • Использование XPATH:

    element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='copt' and starts-with(@id, 'coption')]")))
    
  • Примечание : необходимо добавить следующий импорт:

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