15

Google のサイトにあるPython バインディングを通じて WebDriver を使用しています。こちらのドキュメントによると、Chrome、IE、Firefox、および HtmlUnit の 4 つのブラウザーをサポートしています。を使用して Firefox ドライバーをインポートし、 を使用from selenium.firefox.webdriver import WebDriverして Chrome ドライバーをインポートできfrom selenium.chrome.webdriver import WebDriverます。

同等の HtmlUnit モジュールはありません。HtmlUnit ドライバーをインポートするにはどうすればよいですか?

4

4 に答える 4

12

https://stackoverflow.com/a/5518175/125170で答えを見つけました

Python クライアントの 2.0b3 リリース以降、次のようにリモート接続を介して HTMLUnit Web ドライバーを作成できます。

from selenium import webdriver
driver = webdriver.Remote(
  desired_capabilities=webdriver.DesiredCapabilities.HTMLUNIT)
driver.get('http://www.google.com')

Javascript をサポートするブラウザーでは、HTMLUNITWITHJS 機能アイテムを使用することもできます。

HTMLUnit は Java 側に実装されているため、これを機能させるには Selenium Java サーバーを実行する必要があることに注意してください。

于 2012-05-20T14:35:48.770 に答える
5

HtmlUnit は Java ライブラリであるため、Java 以外の WebDriver バインディングの唯一の選択肢は、RemoteWebDriver を使用することです。Selenium Server を起動し、目的のブラウザーとして HtmlUnit を指定して接続する必要があります。

私は Python にあまり詳しくありませんが、http://code.google.com/p/selenium/wiki/PythonBindingsによると、次のようになります。

from selenium.remote import connect
from selenium import HTMLUNIT


wd = connect(HTMLUNIT, server="http://<selenium_server>:4444")
于 2010-11-02T20:44:48.790 に答える
3

私はこのように使用します:

from selenium.remote import connect                                                                                                                          

b = connect('htmlunit')                                                                                                                                      
b.get('http://google.com')                                                                                                                                   

q = b.find_element_by_name('q')                                                                                                                              
q.send_keys('selenium')                                                                                                                                      
q.submit()                                                                                                                                                   

for l in b.find_elements_by_xpath('//h3/a'):                                                                                                                 
    print('%s\n\t%s\n' % (l.get_text(), l.get_attribute('href')))
于 2011-02-17T12:48:10.430 に答える