如何让WebDriverWait查找某个数字

时间:2019-05-14 14:51:08

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

我用硒制造了一个拍卖监视器,自从我开始使用它以来,它几乎可以完美地工作。它的工作方式是,它进入物业拍卖网站并监视拍卖价格(非常简单),并通过txt ANY的文本提醒我价格变化。它所看的价格各不相同,因为它所看的并不总是现场拍卖,它还查看拍卖的价格,该价格已经结束,以提醒我们退出拍卖的人们,让我们对其进行竞标。我现在需要脚本执行的操作是让它等待特定的数字以及该数字下的所有内容。例如,如果我要等待的价格是207,000,那么脚本将提醒我1-207,000之内的任何价格,而没有超出该价格的任何信息。

在我看来,实现似乎很简单,但是如何实现却无所作为。

这里有一些代码:

propertyprice = browser.find_element_by_css_selector('span.current-bid')
    currentBidText = propertyprice.text
    try:                                
        WebDriverWait(browser, 90000).until_not(
            EC.text_to_be_present_in_element((By.CSS_SELECTOR, 'span.current-bid'), currentBidText)
            )

^这是等待更改的地方。

1 个答案:

答案 0 :(得分:0)

使用While循环检查欲望元素中的连续值并与基本出价进行比较。一旦与基本出价不匹配,它将退出循环。

propertyprice = driver.find_element_by_css_selector('span.current-bid')
currentBidText = propertyprice.text
print(currentBidText)
while(True):
    NextBidPrice = driver.find_element_by_css_selector('span.current-bid').text
    if not(NextBidPrice==currentBidText):
        print(NextBidPrice)
        break
    else:
        print('Awaiting for next bid.....')