【问题标题】:How to use wait expected condition to wait for the attribute in an element to contain certain value before clicking using python and selenium如何使用等待预期条件等待元素中的属性包含特定值,然后单击使用python和selenium
【发布时间】:2020-10-21 00:27:11
【问题描述】:
请尝试使用等待条件来等待元素的值发生更改,然后再单击它
这是之前的代码;
driver.find_elements_by_xpath('//div[@data-markettypecategory="00000000-0000-0000-da7a-000000580001" and @data-pd="12.01"]')[0].click()
上面的代码只在 data-pd=12.01 时有效,我想让它等待 data-pd 是价格(例如 12.01 美元),它可以是任何值(例如 100.00、2.00、50.00 等),我只是想要它能够等到值变为 12.01 直到它点击
【问题讨论】:
标签:
python
selenium
selenium-webdriver
xpath
webdriverwait
【解决方案1】:
首先,复制 FULL Xpath。 不是普通的 Xpath。
完整的 XPath 如下所示:
xpath = '/html/body/div[3]/div[2]/div/div[1]/div[1]/h1/a'
然后您可以获取元素的文本值并检查它是否发生了变化。
string = driver.find_elements_by_xpath(xpath).text
print(string)
if string == "12.01":
click()