6

例如,聊天网站Omegle总是在其主页上显示当前在线用户数量,我可以使用HTMLUnitSelenium 中的无头 Webdriver 使用这个 python 脚本来提取:

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 方法或功能可以让我这样做?

这篇文章似乎是一个相关的线索,尽管它让我无处可去。

4

1 回答 1

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)

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

于 2013-01-14T21:22:09.883 回答