Как найти элемент по части его идентификатора в селене с python - PullRequest
1 голос
/ 08 января 2020

Я использую селен с python, теперь я хочу найти элемент по части его имени, что я могу сделать?

Например, теперь я уже нашел элемент по id name coption5 :

sixth_item = driver.find_element_by_id("coption5")

В любом случае я могу найти этот элемент только с помощью coption ?

1 Ответ

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

Чтобы найти элемент, который вы нашли с помощью:

sixth_item = driver.find_element_by_id("coption5")

Чтобы найти этот элемент только с помощью coption , вы можете использовать любой из следующих Стратегий локатора :

  • Использование XPATH и starts-with():

    sixth_item = driver.find_element_by_xpath("//*[starts-with(@id, 'coption')]")
    
  • Использование XPATH и contains():

    sixth_item = driver.find_element_by_xpath("//*[contains(@id, 'coption')]")
    
  • Использование CSS_SELECTOR и ^ (подстановочный знак начинается с буквы):

    sixth_item = driver.find_element_by_css_selector("[id^='coption']")
    
  • Использование CSS_SELECTOR и * (подстановочный знак содержит):

    sixth_item = driver.find_element_by_css_selector("[id*='coption']")
    

Ссылка

Подробное обсуждение динамических параметров c CssSelectors можно найти в:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...