दिलचस्प पोस्ट
पीडीओ में जैसे प्रश्न को लागू करें इंटेल सिंटैक्स में विधानसभा कोड उत्पन्न करने के लिए आप जीसीसी का उपयोग कैसे करते हैं? मैं रनटाइम पर कैसे पता लगा सकता हूं कि .NET संस्करण 4.5 वर्तमान में आपका कोड चला रहा है? कैसे एक EMCAScript6 (वेनिला जावास्क्रिप्ट) वादा चेन को रद्द करने के लिए आवेश त्रुटि: लिनक्स अतिथि में फ़ोल्डर्स माउंट करने में विफल पांडा के साथ डाटाफ्रेम के माध्यम से लूप का सबसे कारगर तरीका क्या है? अनुरोध इकाई बहुत बड़ा PHP अजगर फ़ाइलों को संपादित करते समय लाइनों की शुरुआत में टिप्पणियां नहीं डालने के लिए vim को कॉन्फ़िगर कैसे करें Android में कस्टम रेटिंग बार कैसे बनाएं JSON को PHP ऑब्जेक्ट को सीरियल करना 'पीआईपी' को आंतरिक या बाहरी कमान के रूप में मान्यता नहीं दी गई है बिल्ड जायके का उपयोग करना – स्ट्रक्चरिंग स्रोत फ़ोल्डर्स और build.gradle सही तरीके से पासवर्ड की ताकत की जांच करना (शर्तों की जांच कैसे करें) पठन में * .wav फ़ाइलें पढ़ना विंडोज कंसोल से कर्ल आदेश चलाएँ

पायथन में प्रॉक्सी के साथ सेलेनियम वेबड्रिवर चला रहा है

मैं कुछ मूल कार्य करने के लिए पायथन में सेलेनियम वेबड्राइवर स्क्रिप्ट को चलाने की कोशिश कर रहा हूं मैं रोबोट को पूरी तरह से काम कर सकता हूं जब इसे सेलेनियम आईडीई इंफिफ़ेस के माध्यम से चलाया जाता है (यानी: जब बस जीयूआई को मेरे कार्यों को दोहराते हुए) हालांकि जब मैं कोड को एक पायथन स्क्रिप्ट के रूप में निर्यात करता हूं और उसे कमांड लाइन से निष्पादित करने का प्रयास करता हूं, तो फ़ायरफ़ॉक्स ब्राउज़र खुल जाएगा, लेकिन आरंभिक यूआरएल (एक त्रुटि कमांड लाइन पर लौटाई जा सकती है और प्रोग्राम स्टॉप) को कभी भी एक्सेस नहीं कर सकता है। यह मुझे क्या वेबसाइट आदि का उपयोग करने की कोशिश कर रहा है की परवाह किए बिना हो रहा है।

मैंने प्रदर्शन प्रयोजनों के लिए यहां एक बहुत ही बुनियादी कोड शामिल किया है मुझे नहीं लगता है कि मैंने कोड के प्रॉक्सी अनुभाग को सही तरीके से शामिल किया है क्योंकि प्रॉक्सी द्वारा लौटाई जाने वाली त्रुटि लगता है

किसी भी सहायता की बेहद सराहना की जाएगी।

नीचे दिए गए कोड का मतलब सिर्फ www.google.ie खोलना है और शब्द "सेलेनियम" के लिए खोज करना है मेरे लिए यह एक रिक्त फ़ायरफ़ॉक्स ब्राउज़र खुलता है और बंद हो जाता है

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException import unittest, time, re from selenium.webdriver.common.proxy import * class Testrobot2(unittest.TestCase): def setUp(self): myProxy = "http://149.215.113.110:70" proxy = Proxy({ 'proxyType': ProxyType.MANUAL, 'httpProxy': myProxy, 'ftpProxy': myProxy, 'sslProxy': myProxy, 'noProxy':''}) self.driver = webdriver.Firefox(proxy=proxy) self.driver.implicitly_wait(30) self.base_url = "https://www.google.ie/" self.verificationErrors = [] self.accept_next_alert = True def test_robot2(self): driver = self.driver driver.get(self.base_url + "/#gs_rn=17&gs_ri=psy-ab&suggest=p&cp=6&gs_id=ix&xhr=t&q=selenium&es_nrs=true&pf=p&output=search&sclient=psy-ab&oq=seleni&gs_l=&pbx=1&bav=on.2,or.r_qf.&bvm=bv.47883778,d.ZGU&fp=7c0d9024de9ac6ab&biw=592&bih=665") driver.find_element_by_id("gbqfq").clear() driver.find_element_by_id("gbqfq").send_keys("selenium") def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def is_alert_present(self): try: self.driver.switch_to_alert() except NoAlertPresentException, e: return False return True def close_alert_and_get_its_text(self): try: alert = self.driver.switch_to_alert() alert_text = alert.text if self.accept_next_alert: alert.accept() else: alert.dismiss() return alert_text finally: self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) if __name__ == "__main__": unittest.main() 

वेब के समाधान से एकत्रित समाधान "पायथन में प्रॉक्सी के साथ सेलेनियम वेबड्रिवर चला रहा है"

इस जैसे किसी और के बारे में क्या राय है

 PROXY = "149.215.113.110:70" webdriver.DesiredCapabilities.FIREFOX['proxy'] = { "httpProxy":PROXY, "ftpProxy":PROXY, "sslProxy":PROXY, "noProxy":None, "proxyType":"MANUAL", "class":"org.openqa.selenium.Proxy", "autodetect":False } # you have to use remote, otherwise you'll have to code it yourself in python to driver = webdriver.Remote("http://localhost:4444/wd/hub", webdriver.DesiredCapabilities.FIREFOX) 

आप यहां इसके बारे में अधिक पढ़ सकते हैं।

मेरा समाधान:

 def my_proxy(PROXY_HOST,PROXY_PORT): fp = webdriver.FirefoxProfile() # Direct = 0, Manual = 1, PAC = 2, AUTODETECT = 4, SYSTEM = 5 print PROXY_PORT print PROXY_HOST fp.set_preference("network.proxy.type", 1) fp.set_preference("network.proxy.http",PROXY_HOST) fp.set_preference("network.proxy.http_port",int(PROXY_PORT)) fp.set_preference("general.useragent.override","whater_useragent") fp.update_preferences() return webdriver.Firefox(firefox_profile=fp) 

फिर अपने कोड में कॉल करें:

 my_proxy(PROXY_HOST,PROXY_PORT) 

मुझे इस कोड के साथ समस्या थी क्योंकि मैं पोर्ट # के रूप में एक स्ट्रिंग पारित कर रहा था:

  PROXY_PORT="31280" 

यह महत्वपूर्ण है:

 int("31280") 

आपको स्ट्रिंग के बजाय एक पूर्णांक देना होगा या आपके फ़ायरफ़ॉक्स प्रोफाइल को उचित पोर्ट पर सेट नहीं किया जाएगा और प्रॉक्सी के माध्यम से कनेक्शन काम नहीं करेगा।

Sock5 प्रॉक्सी को भी स्थापित करने का प्रयास करें मुझे एक ही समस्या का सामना करना पड़ रहा था और यह सॉक्स प्रॉक्सी का उपयोग करके हल किया गया

 def install_proxy(PROXY_HOST,PROXY_PORT): fp = webdriver.FirefoxProfile() print PROXY_PORT print PROXY_HOST fp.set_preference("network.proxy.type", 1) fp.set_preference("network.proxy.http",PROXY_HOST) fp.set_preference("network.proxy.http_port",int(PROXY_PORT)) fp.set_preference("network.proxy.https",PROXY_HOST) fp.set_preference("network.proxy.https_port",int(PROXY_PORT)) fp.set_preference("network.proxy.ssl",PROXY_HOST) fp.set_preference("network.proxy.ssl_port",int(PROXY_PORT)) fp.set_preference("network.proxy.ftp",PROXY_HOST) fp.set_preference("network.proxy.ftp_port",int(PROXY_PORT)) fp.set_preference("network.proxy.socks",PROXY_HOST) fp.set_preference("network.proxy.socks_port",int(PROXY_PORT)) fp.set_preference("general.useragent.override","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A") fp.update_preferences() return webdriver.Firefox(firefox_profile=fp) 

फिर अपने प्रोग्राम से install_proxy ( ip , port ) को कॉल install_proxy ( ip , port )

मेरे लिए इस तरह काम करता है (@ एमे और @ यूज़र 24642224 कोड के समान, लेकिन थोड़ी कम):

 from selenium import webdriver from selenium.webdriver.common.proxy import Proxy, ProxyType prox = Proxy() prox.proxy_type = ProxyType.MANUAL prox.http_proxy = "ip_addr:port" prox.socks_proxy = "ip_addr:port" prox.ssl_proxy = "ip_addr:port" capabilities = webdriver.DesiredCapabilities.CHROME prox.add_to_capabilities(capabilities) driver = webdriver.Chrome(desired_capabilities=capabilities) 

अगर किसी को यहाँ एक समाधान की तलाश है तो कैसे:

 from selenium import webdriver PROXY = "YOUR_PROXY_ADDRESS_HERE" webdriver.DesiredCapabilities.FIREFOX['proxy']={ "httpProxy":PROXY, "ftpProxy":PROXY, "sslProxy":PROXY, "noProxy":None, "proxyType":"MANUAL", "autodetect":False } driver = webdriver.Firefox() driver.get('http://www.whatsmyip.org/') 

FirefoxProfile सेट अप करने का प्रयास करें

 from selenium import webdriver import time "Define Both ProxyHost and ProxyPort as String" ProxyHost = "54.84.95.51" ProxyPort = "8083" def ChangeProxy(ProxyHost ,ProxyPort): "Define Firefox Profile with you ProxyHost and ProxyPort" profile = webdriver.FirefoxProfile() profile.set_preference("network.proxy.type", 1) profile.set_preference("network.proxy.http", ProxyHost ) profile.set_preference("network.proxy.http_port", int(ProxyPort)) profile.update_preferences() return webdriver.Firefox(firefox_profile=profile) def FixProxy(): ""Reset Firefox Profile"" profile = webdriver.FirefoxProfile() profile.set_preference("network.proxy.type", 0) return webdriver.Firefox(firefox_profile=profile) driver = ChangeProxy(ProxyHost ,ProxyPort) driver.get("http://whatismyipaddress.com") time.sleep(5) driver = FixProxy() driver.get("http://whatismyipaddress.com") 

यह प्रोग्राम विंडोज 8 और मैक ओएसएक्स दोनों पर परीक्षण किया गया यदि आप मैक ओएसएक्स का प्रयोग कर रहे हैं और यदि आपके पास सेलेनियम अपडेट नहीं किया गया है तो आप selenium.common.exceptions.WebDriverException सामना कर सकते selenium.common.exceptions.WebDriverException । यदि हां, तो अपने सेलेनियम को अपग्रेड करने के बाद पुन: प्रयास करें

 pip install -U selenium