1

セレンを使用しています。次のコードがあります。

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get("http://www.mysite.com")
x = browser.find_elements_by_xpath("//div[@id='containeriso3']/div/a[1]")
hrefs = [i.get_attribute('href') for i in x]

これで動作します。

しかし、これをやりたいのは、ubuntuコマンドラインで実行されるサーバー上です。これは、私はこれを使用できないことを意味します

browser = webdriver.Firefox()

私のコードで。コマンドラインを介してこれに使用できる代替手段は何ですか?

4

3 に答える 3

4

Rhino JavaScript エンジンをベースとしたヘッドレスブラウザである HtmlUnitDriver を利用できます。

http://code.google.com/p/selenium/wiki/HtmlUnitDriver

于 2013-02-06T12:03:53.963 に答える
1

Ubuntu サーバーとデスクトップが同じネットワーク上にある場合は、Selenium Grid を使用します。コードは Linux サーバーで開始され、テストはデスクトップで実行されます。

次のリンクを見てください。

http://code.google.com/p/selenium/wiki/Grid2

例は Java で書かれていますが、それらを Python に適応させるか、少なくとも何をする必要があるかを理解できると確信しています。

于 2013-02-06T15:22:15.680 に答える
0

また、phantomjs に基づくゴースト ドライバーを使用することもできると思います。

https://github.com/detro/ghostdriverまたは、Xvfb で通常の firefox ドライバーを実行することもできます。

必要なものによって異なります。

于 2013-02-13T09:26:22.313 に答える