Firefox 如何在每次处理完一些数据后循环刷新网页?

Firefox 如何在每次处理完一些数据后循环刷新网页?,firefox,selenium,python-3.x,Firefox,Selenium,Python 3.x,我用一个网页的URL启动Firefox,该网页使用HTTP基本身份验证和Selenium。登录后,我只看到从数据库读取的一行文本,而我无法访问该行。因此,我检索该行文本并保存到一个文本文件中 我需要使用Selenium刷新页面,以便从页面上显示的数据库中获取下一行文本,然后再次保存它。这一切都是我做的。但是我不知道如何在读取每一行之后刷新页面(在刷新过程中循环),直到数据库结束。以下是我的代码(仅对前两行有效): 我如何解决我的问题 将逻辑放入while循环,检查页面在最近一次点击后是否发生了更

我用一个网页的URL启动Firefox,该网页使用HTTP基本身份验证和Selenium。登录后,我只看到从数据库读取的一行文本,而我无法访问该行。因此,我检索该行文本并保存到一个文本文件中

我需要使用Selenium刷新页面,以便从页面上显示的数据库中获取下一行文本,然后再次保存它。这一切都是我做的。但是我不知道如何在读取每一行之后刷新页面(在刷新过程中循环),直到数据库结束。以下是我的代码(仅对前两行有效):


我如何解决我的问题

将逻辑放入
while
循环,检查页面在最近一次点击后是否发生了更改:

latest_content = None
while True:
    driver.refresh()
    new_content = driver.find_element_by_xpath("html").text
    if new_content != latest_content:
        with open('urls.txt', 'a') as f:
            f.write(new_content)
            latest_content = new_content

您需要多久刷新一次页面?新数据多久出现一次?@alecxe显示一行后,我将其保存到文本文件中。稍后我会对这一行进行进一步处理(但假设我只需要将其保存到文本文件中)。只有在保存完成后,我才能刷新页面以获得下一行。以此类推。将其放入标准控制流循环中,如
while
for
,然后使用
driver.refresh()
@alecxe总结:新数据(url)仅在我刷新页面时显示。将URL保存到文本文件后,我必须刷新。@Begueradj好的,您需要停止刷新和保存吗?:)简单而有效的想法,的确:)你总是比我聪明:)谢谢你,亚历山大。@Begueradj我希望这对你有用,或者至少走上正轨。您可能还需要以某种方式退出循环。别担心,我知道该数据库中的记录数,因此我只会在循环中添加一个计数器作为条件:)事实上,我没有给出我的应用程序的真实上下文(我不允许这样做),所以,我尽可能地简化我的真实需求,通过这个有时听起来很糟糕的问题。但这就像你在我脑海中读到的:这个解决方案正是我在真实环境中所需要的,通过添加我的条件(计数器)@Begueradj是的,这是有意义的。谢谢
latest_content = None
while True:
    driver.refresh()
    new_content = driver.find_element_by_xpath("html").text
    if new_content != latest_content:
        with open('urls.txt', 'a') as f:
            f.write(new_content)
            latest_content = new_content