我已经编写了一个脚本,用URL打开Firefox,抓取数据并关闭。该页面属于游戏站点,其中页面通过Ajax刷新内容。
现在一种方法是在开放浏览器中的一段时间后获取这些AJAX请求并获取数据或刷新页面。
对于后一种情况,我该怎么办?我应该在一段时间后调用该方法还是什么?
答案 0 :(得分:0)
您可以实施所谓的$bd
。
使用JavaScript从中获取数据,因为如果没有页面刷新,DOM模型将不会更新,例如:
mysqli
等待一段时间,再次获取并与之前的结果进行比较。如果更改 - 刷新页面,获取数据等
答案 1 :(得分:0)
您可以使用时间库来执行此操作。例如:
import time
from selenium import webdriver
driver = webdriver.Firefox()
while <condicion>:
driver.get("http://www.url.org")
# extract and save data
time.sleep(5000) # whaits 5000 seconds
driver.close()
答案 2 :(得分:0)
确保在等待后再次呼叫findElement()
,否则您可能无法获得新的实例。或者使用页面工厂,每次访问实例时都会为您获取WebElement
的新副本。
答案 3 :(得分:0)
尝试逐页刷新页面以获得更新的结果。
driver.navigate().refresh();
要在一段时间内刷新页面,请参阅以下链接: -
Running a python script for a user-specified amount of time?
希望它会对你有所帮助:)。