【发布时间】:2021-09-14 00:55:05
【问题描述】:
我正在尝试在 Python 中使用 Selenium 来检查页面上的文本是否已更新。如果页面已经更新,它应该执行一些命令,如果没有,它应该继续运行循环,每 30 秒检查一次是否有更新。下面是我到目前为止的代码(新手所以对我轻松一点)。这个想法是让代码不断循环浏览页面以寻找添加的新文本。不确定 selenium 是否可以自动刷新页面或者应该添加代码来关闭页面并从头开始。
到目前为止,代码工作正常,但无法找出循环片段。
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("https://www.somewebsite.com/")
username = driver.find_element_by_id("user_login")
username.clear()
username.send_keys("some username")
password = driver.find_element_by_name("pwd")
password.clear()
password.send_keys("some password")
driver.find_element_by_name("wp-submit").click()
original = driver.find_element_by_css_selector('#feed > div.f-wrap > div:nth-child(1) > div.f-txt')
newer = original
while original == newer:
body = driver.find_element_by_css_selector('#feed > div.f-wrap > div:nth-child(1) > div.f-txt')
newer = body.text
time.sleep(20)
while newer != original:
print(newer)
【问题讨论】:
标签: python selenium loops time while-loop