2010-11-02 28 views
10

Tôi đang sử dụng WebDriver thông qua các ràng buộc Python located on Google's site. Theo tài liệu hướng dẫn here, nó hỗ trợ bốn trình duyệt: Chrome, IE, Firefox và HtmlUnit. Tôi có thể nhập trình điều khiển Firefox bằng cách sử dụng from selenium.firefox.webdriver import WebDriver và trình điều khiển Chrome sử dụng from selenium.chrome.webdriver import WebDriver.Làm cách nào để sử dụng trình điều khiển HtmlUnit với Selenium thông qua các ràng buộc Python?

Không có mô-đun HtmlUnit có thể so sánh. Làm cách nào để nhập trình điều khiển HtmlUnit?

Trả lời

5

HtmlUnit là một thư viện Java nên lựa chọn duy nhất cho các ràng buộc không phải java WebDriver là sử dụng RemoteWebDriver. Bạn sẽ cần phải bắt đầu một máy chủ Selenium và kết nối với nó chỉ định HtmlUnit như trình duyệt mong muốn.

Tôi không phải là rất quen thuộc với Python, nhưng theo http://code.google.com/p/selenium/wiki/PythonBindings nó sẽ giống như thế:

from selenium.remote import connect 
from selenium import HTMLUNIT 


wd = connect(HTMLUNIT, server="http://<selenium_server>:4444") 
+1

Trừ mà bạn có thể sử dụng các trình điều khiển trình duyệt IE, Chrome, Firefox và qua Python ràng buộc. Và http://code.google.com/p/selenium/wiki/PythonBindings nói "Tất cả các trình duyệt được hỗ trợ bởi việc triển khai Java của Selenium đều có sẵn trong các ràng buộc Python". –

+3

Nhưng HtmlUnit không phải là một trình duyệt - nó là một khung công tác Java để kiểm thử đơn vị ứng dụng html/web –

+0

HTMLUnit là một trình duyệt. Chỉ vì bạn không thể nhìn thấy nó làm cho nó không làm cho nó ít hơn của một trình duyệt-nó chỉ có nghĩa là nó không đầu. –

3

tôi sử dụng nó như thế này:

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

không còn hoạt động: ImportError: Không có mô-đun có tên từ xa –

10

Tôi tìm thấy câu trả lời ở https://stackoverflow.com/a/5518175/125170

As of the 2.0b3 release of the python client you can create an HTMLUnit webdriver via a remote connection like so:

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

You can also use the HTMLUNITWITHJS capability item for a browser with Javascript support.

Note that you need to run the Selenium Java server for this to work, since HTMLUnit is implemented on the Java side.

-6

// Bạn có thể sử dụng HtmlUnitDriver trong trường hợp này.

 import org.openqa.selenium.htmlunit.HtmlUnitDriver; 

// Tuyên bố và initialising các HtmlUnitWebDriver

HtmlUnitDriver unitDriver = new HtmlUnitDriver(); 

// google.com mở trang web

unitDriver.get("http://google.com"); 
+1

Downvote, đây là dành cho java. OP hỏi về python. – Jeflopo

Các vấn đề liên quan