【问题标题】:Python Selenium web driver wait based on a condition of text in an element基于元素中文本条件的 Python Selenium Web 驱动程序等待
【发布时间】:2020-08-30 09:33:29
【问题描述】:

ID 为 equity_timeStamp 的 HTML 元素包含我打算使用 selenium 和 Bs4 抓取的网站上的日期和时间。文本会根据日期更改,但前缀 As on 和后缀 IST 仍然存在。 随着日期和时间的变化,有什么方法可以使用text_to_be_present_in_element 方法来检查是否存在该前缀或后缀而不是整个文本?也许正则表达式?我发现的一种方法是创建一个自定义条件类,但这有点太多了,有没有内置的方法可以做到这一点?

元素内的示例文本: As on 28-Aug-2020 15:30:00 IST

我希望得到帮助的代码:

wait = WebDriverWait(driver, 10)
wait.until(expected_conditions.text_to_be_present_in_element((By.ID, 'equity_timeStamp'),'As on'))

【问题讨论】:

  • 您可以在 selenium 定位器中使用正则表达式。您也可以使用starts-with。

标签: python python-3.x selenium selenium-webdriver web-scraping


【解决方案1】:

我希望我能看到网站的页面源代码,但我想知道你是否使用以下命令。

wait.until(expected_conditions.presence_of_all_elements_located((By.XPATH, '//*[@id="equity_timeStamp" and contains(text(), "As on") and contains(text(), "IST")]')))

【讨论】:

    猜你喜欢
    • 2016-09-28
    • 1970-01-01
    • 2019-04-05
    • 2020-03-04
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    相关资源
    最近更新 更多