Как использовать драйвер HtmlUnit с Selenium через привязки Python? - PullRequest
12 голосов
/ 02 ноября 2010

Я использую WebDriver через привязки Python , расположенные на сайте Google .Согласно документации здесь , он поддерживает четыре браузера: Chrome, IE, Firefox и HtmlUnit.Я могу импортировать драйвер Firefox, используя from selenium.firefox.webdriver import WebDriver, а драйвер Chrome - from selenium.chrome.webdriver import WebDriver.

Нет сопоставимого модуля HtmlUnit.Как импортировать драйвер HtmlUnit?

Ответы [ 4 ]

11 голосов
/ 20 мая 2012

Я нашел ответ на https://stackoverflow.com/a/5518175/125170

Начиная с версии 2.0b3 клиента Python вы можете создать HTMLUnit webdriver через удаленное соединение примерно так:

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

Вы также можете использовать элемент возможностей HTMLUNITWITHJS для браузера с Поддержка Javascript.

Обратите внимание, что для этого нужно запустить Java-сервер Selenium, поскольку HTMLUnit реализован на стороне Java.

5 голосов
/ 02 ноября 2010

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")
3 голосов
/ 17 февраля 2011

Я использую это так:

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')))
0 голосов
/ 15 апреля 2015

// В этом случае вы можете использовать HtmlUnitDriver.

       import org.openqa.selenium.htmlunit.HtmlUnitDriver;

// Объявление и инициализация HtmlUnitWebDriver

    HtmlUnitDriver unitDriver = new HtmlUnitDriver();

// открыть веб-страницу google.com

    unitDriver.get("http://google.com");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...