使用Selenium Webdriver定期更新内容

时间:2013-01-14 20:13:28

标签: javascript python selenium webdriver selenium-webdriver

例如,聊天网站Omegle始终在其主页上显示当前在线用户数,我可以使用Selenium中的无头HTMLUnit Webdriver使用此python脚本提取: / p>

from selenium import webdriver    
driver = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.HTMLUNITWITHJS)
driver.get('http://www.omegle.com/')
element = driver.find_element_by_id("onlinecount")
print element.text.split()[0]

输出如下:

22,183

这个号码是由脚本定期动态生成和更新的,我希望每隔一段时间只读取这个动态更新的内容,而不用driver.get重复加载整个页面。什么Selenium Webdriver方法或功能可以让我这样做?

This article似乎是一个相关的领导者,尽管它现在引领着我。

1 个答案:

答案 0 :(得分:7)

这是未经测试的,但我认为以下内容可能有效:

from selenium import webdriver    
from time import sleep
driver = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.HTMLUNITWITHJS)
driver.get('http://www.omegle.com/')
interval = 10  #or whatever interval you want
while True:
    element = driver.find_element_by_id("onlinecount")
    print element.text.split()[0]
    sleep(interval)

我认为如果您在更改后找到该元素,它将为您提供新值。