Python Selenium - Как мне проверить, есть ли у нас предмет с этим на HTML? - PullRequest
1 голос
/ 10 июля 2020

Мне нужно проверить, есть ли что-то на странице в качестве триггера:

data-id="false_5511971198499@c.us_DBC6E6D07C76B179C26A40D689B2AEB2"

Но мне нужно проверить только "data-id="false_", потому что остальные могут быть чем угодно.

Я пытался создать:

element = driver.find_element_by_xpath("[data-id='False']")

, но не получилось. И я не знаю, как продолжить, если есть этот элемент, который нам нужен print(ok).

Не могли бы вы мне помочь?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 июля 2020

Это элемент Dynami c, поэтому вам нужно вызвать WebDriverWait для visibility_of_element_located(), и вы можете использовать любую из следующих стратегий локатора :

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

    WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//*[starts-with(@data-id, 'false_')]")))
    
  • Использование CSS_SELECTOR:

    WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "[data-id^='false_']")))
    
  • Примечание : вам необходимо добавить следующий импорт:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
0 голосов
/ 10 июля 2020

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

//*[starts-with(@data_id,'false_')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...