python मैं पायथन से सेलेनियम के साथ HTMLUnit ड्राइवर का उपयोग कैसे करूं?




selenium-rc selenium-webdriver (3)

मैं HTMLUnit का उपयोग करने के लिए सेलेनियम को कैसे बताऊँ?

मैं सैलेनियम-सर्वर-स्टैंडअलोन -02 बी 1.जर को पृष्ठभूमि में एक सेलेनियम सर्वर के रूप में चला रहा हूं, और नवीनतम पायथन बाइंडिंग "पिप स्थापना -यू सेलेनियम" के साथ स्थापित किया गया है।

फ़ायरफ़ॉक्स के साथ सब कुछ ठीक काम करता है लेकिन मैं HTMLUnit का उपयोग करना चाहता हूं, क्योंकि यह हल्का वजन है और उसे एक्स की आवश्यकता नहीं है। ऐसा करने का मेरा प्रयास है:

>>> import selenium
>>> s = selenium.selenium("localhost", 4444, "*htmlunit", "http://localhost/")
>>> s.start()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/selenium/selenium/selenium.py", line 189, in start
    result = self.get_string("getNewBrowserSession", start_args)
  File "/usr/local/lib/python2.6/dist-packages/selenium/selenium/selenium.py", line 223, in get_string
    result = self.do_command(verb, args)
  File "/usr/local/lib/python2.6/dist-packages/selenium/selenium/selenium.py", line 217, in do_command
    raise Exception, data
Exception: Failed to start new browser session: Browser not supported: *htmlunit

Supported browsers include:
  *firefox
  *mock
  *firefoxproxy
  *pifirefox
  *chrome
  *iexploreproxy
  *iexplore
  *firefox3
  *safariproxy
  *googlechrome
  *konqueror
  *firefox2
  *safari
  *piiexplore
  *firefoxchrome
  *opera
  *iehta
  *custom

तो सवाल है, एचटीएमएलयूनिट चालक क्या है? मैं इसे कैसे सक्षम करूं?

HTMLUnit के लिए कोड सेलेनियम 2 के स्रोत में है, इसलिए मुझे उम्मीद है कि यह अन्य ब्राउज़रों की तरह डिफ़ॉल्ट रूप से उपलब्ध होगा। मैं इसे कैसे सक्षम करने के बारे में कोई निर्देश नहीं देख सकता।


सेलेनियम 2.20.0.जार सर्वर और मिलान करने वाले अजगर संस्करण का उपयोग करके, मैं ब्राउज़र को * नकली के रूप में निर्दिष्ट करके HtmlUnitDriver का उपयोग करने में सक्षम हूं

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

server_url = "http://%s:%s/wd/hub" % (test_host, test_port)
dc = DesiredCapabilities.HTMLUNIT
wd = webdriver.Remote(server_url, dc)
wd.get('http://www.google.com')

मैं इसे इस तरह प्रयोग करता हूं:

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')))

अजगर क्लाइंट के 2.0b3 रिहाई के रूप में आप एक HTMLUnit webdriver को एक दूरस्थ कनेक्शन के माध्यम से ऐसा बना सकते हैं:

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

आप जावास्क्रिप्ट समर्थन वाले ब्राउज़र के लिए HTMLUNITWITHJS क्षमता आइटम का भी उपयोग कर सकते हैं।

ध्यान दें कि आपको इस काम के लिए सेलेनियम जावा सर्वर चलाने की आवश्यकता है, क्योंकि HTMLUnit जावा साइड पर लागू किया गया है।





selenium-webdriver