6

例として、チャットサイトOmegleは常にホームページに現在のオンラインユーザー数を表示します。これはHTMLUnit、SeleniumのヘッドレスWebドライバーを使用してこの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。どのSeleniumWebdriverの方法または機能でそれが可能になりますか?

この記事は私をここに導いたが、関連するリードのように思われる。

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 に答える