【发布时间】:2014-08-01 15:26:45
【问题描述】:
我使用带有 Selenium 的 HTTP 基本身份验证的网页的 URL 启动 Firefox。登录后,我只能看到从无法访问的数据库中读取的一行文本。所以我检索那行文本并保存到一个文本文件中。
我需要使用 Selenium 刷新页面,以便从页面上显示的数据库中获取下一个文本行,然后再次保存。这一切我都做到了。但是我不知道如何在读取每一行直到数据库结束后刷新页面(循环刷新过程)。这是我的代码(仅对前 2 行有效):
from selenium import webdriver
profile=webdriver.FirefoxProfile()
profile.set_preference('network.http.phishy-userpass-length','255')
driver=webdriver.Firefox(firefox_profile=profile)
driver.get("https://my_username:my_password@my_websitew.com/page.php")
r=driver.find_element_by_xpath("html").text
with open('urls.txt','a') as f:
f.write(r)
我该如何解决我的问题?
【问题讨论】:
-
您需要多久刷新一次页面以及多久出现一次新数据?
-
@alecxe 显示一行后,我将其保存到文本文件中。稍后我会对该行进行进一步处理(但假设我只需将其保存到文本文件中)。只有在保存完成后,我必须刷新页面才能获得下一行。以此类推。
-
把它放在像
while或for这样的标准控制流循环中,并使用driver.refresh() -
@alecxe 总结一下:新数据(一个url)只有在我刷新页面时才会出现。将 URL 保存到文本文件后,我必须刷新。
-
@Begueradj 好的,您需要停止刷新和保存吗? :)
标签: firefox selenium python-3.x