15

我通过位于 Google 网站上的 Python 绑定使用 WebDriver 。根据此处的文档,它支持四种浏览器:Chrome、IE、Firefox 和 HtmlUnit。我可以使用 导入 Firefox 驱动程序from selenium.firefox.webdriver import WebDriver,使用from selenium.chrome.webdriver import WebDriver.

没有可比的 HtmlUnit 模块。如何导入 HtmlUnit 驱动程序?

4

4 回答 4

12

我在https://stackoverflow.com/a/5518175/125170找到了答案

从 python 客户端的 2.0b3 版本开始,您可以通过远程连接创建 HTMLUnit webdriver,如下所示:

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

您还可以将 HTMLUNITWITHJS 功能项用于支持 Javascript 的浏览器。

请注意,您需要运行 Selenium Java 服务器才能使其工作,因为 HTMLUnit 是在 Java 端实现的。

于 2012-05-20T14:35:48.770 回答
5

HtmlUnit 是一个 Java 库,因此非 Java WebDriver 绑定的唯一选择是使用 RemoteWebDriver。您将需要启动 Selenium 服务器并连接到它,并指定 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 回答
0

我同意楼上的回答,但在此之前必须打开服务器。下载服务器和htmlunitdriver后,cmd应该在同一个文件中打开。这应该写入cmd。

java -cp "htmlunit-driver-2.47.1-jar-with-dependencies.jar; selenium-server-standalone-3.141.0.jar" org.openqa.grid.selenium.GridLauncherV3

当然版本可能不同。相应地更新代码。还有我在python中用于htmlunitdriver的代码:

from selenium import webdriver
driver = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.HTMLUNIT)
driver.get('http://www.google.com')
于 2021-02-19T17:26:59.630 回答