微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Python Selenium 中等待一个值大于或等于某个数字

如何解决在 Python Selenium 中等待一个值大于或等于某个数字

我正在尝试制作一个程序,等待某个值大于或等于某个数字,然后执行一些操作。

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.minimize_window()

driver.get("https://www.awstats.io/mining/pools/kavian")

try:
    element= webdriverwait(driver,30).until(EC.text_to_be_present_in_element((By.XPATH,'/html/body/div[3]/div[2]/table[1]/tbody/tr/td[3]'),'2.'))
    print(int(element))
except:
    print('time elapsed')
    pass

仅当元素值大于或等于 2 时,我才需要执行操作,但我不知道如何等待该值而不仅仅是文本。 有什么提示吗?

解决方法

也许这不是最好的方法,但您可以使用以下方法:

element = 0
WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH,'/html/body/div[3]/div[2]/table[1]/tbody/tr/td[3]')))
for x in range(10): 
  element = driver.findelement_by_xpath('/html/body/div[3]/div[2]/table[1]/tbody/tr/td[3]').text    
    if(int(element) >= 2):
       print(int(element) >= 2)
    else:
      time.sleep(1)
if(int(element) < 2):
  print(Couldn't find expected value inside the element)

以上代码用于元素文本值。
如果您正在寻找元素值属性,请使用 text_to_be_present_in_element_value 而不是 text_to_be_present_in_element

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。