0

前のステップでは、div からテキストを取得する際に問題がありました。数時間後、最終的に必要なものを取得しましたが、その印刷テキスト (変数) をループしたいため、次のステップはさらに簡単ではありませんでした。

私はあなたが寛大な人であることを願っています。私がPythonを初めて使用するという理由だけで、私は反対票を投じられません。これは私がすでに得た部分です:

import selenium
from selenium import webdriver

driver = webdriver.Firefox()
driver.get('http://example.com//')
botloc = driver.find_element_by_id('botloc').text
print botloc

def repeat():
    while 1 == 1:
        botloc = driver.find_element_by_id('botloc').text
        print botloc

予防措置として、実際の Web サイトのアドレスが変更されています。

コードの前半部分はうまく機能しますが、後半部分はそうではありません。repeatシェルで入力した後、応答は<function repeat at 0x015BBFB0>. div からのテキストではありません。私(初心者) にとってprint botlocは、オブジェクトの値か何かのように見えます。どうすれば修正できますか?u'26,40'def repeat()

4

1 に答える 1

0

selenium.py次のコードでファイルを作成します。

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('http://www.helloworld.com/')
print driver.find_element_by_css_selector("a[href*='privacy']").text

def repeat():
    while 1 == 1:
        print driver.find_element_by_css_selector("a[href*='privacy']").text

repeat() # this is what you need!

URL を自分のものに変更し、ロケーターを自分のものに変更しますdriver.find_element_by_id('botloc').text

次に、コマンドラインから: run python selenium.py、動作するはずです

ただし、ループ中にDOMが変更された場合、例外がスローされます。

于 2013-05-16T23:32:22.337 に答える