Python Selenium:如何从页面获取新数据定期刷新?

时间:2016-04-06 08:11:13

标签: python ajax selenium

我已经编写了一个脚本,用URL打开Firefox,抓取数据并关闭。该页面属于游戏站点,其中页面通过Ajax刷新内容。

现在一种方法是在开放浏览器中的一段时间后获取这些AJAX请求并获取数据或刷新页面。

对于后一种情况,我该怎么办?我应该在一段时间后调用该方法还是什么?

4 个答案:

答案 0 :(得分:0)

您可以实施所谓的$bd

  1. 指出最常更新且对您有用的网页元素 在页面
  2. 使用JavaScript从中获取数据,因为如果没有页面刷新,DOM模型将不会更新,例如:

    mysqli

  3. 等待一段时间,再次获取并与之前的结果进行比较。如果更改 - 刷新页面,获取数据等

答案 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?

希望它会对你有所帮助:)。