例如,聊天网站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似乎是一个相关的领导者,尽管它现在引领着我。
答案 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)
我认为如果您在更改后找到该元素,它将为您提供新值。