def get_browser(PROXY): import os luminati_host = os.environ.get('LUMINATI_HOST') luminati_port = os.environ.get('LUMINATI_PORT') PROXY = 'http://' + luminati_host + ':' + luminati_port print(PROXY) proxy = Proxy() proxy.http_proxy = PROXY proxy.ftp_proxy = PROXY proxy.sslProxy = PROXY proxy.no_proxy = "localhost" #etc... ;) proxy.proxy_type = ProxyType.MANUAL capabilities = webdriver.DesiredCapabilities.CHROME proxy.add_to_capabilities(capabilities) # path = '/home/balu/balu/work/Courses/luminati+selinium/testapp/app/helper_files/chromedriver' # driver = webdriver.Chrome(executable_path = path, desired_capabilities=capabilities) driver = webdriver.Remote("http://172.20.128.1:4444/wd/hub", desired_capabilities=capabilities) url = 'https://lumtest.com/myip.json' driver.get(url) print(driver.page_source) return driver
def test_manual_proxy_is_set_in_profile(self): # The setup gave us a browser but we dont need it self.driver.quit() self.profile = webdriver.FirefoxProfile() proxy = Proxy() proxy.no_proxy = 'localhost, foo.localhost' proxy.http_proxy = 'some.url:1234' proxy.ftp_proxy = None proxy.sslProxy = 'some2.url' self.profile.set_proxy(proxy) assert self.profile.default_preferences[ "network.proxy.type"] == ProxyType.MANUAL['ff_value'] assert self.profile.default_preferences[ "network.proxy.no_proxies_on"] == 'localhost, foo.localhost' assert self.profile.default_preferences[ "network.proxy.http"] == 'some.url' assert self.profile.default_preferences[ "network.proxy.http_port"] == 1234 assert self.profile.default_preferences[ "network.proxy.ssl"] == 'some2.url' assert "network.proxy.ssl_port" not in self.profile.default_preferences assert "network.proxy.ftp" not in self.profile.default_preferences
def set_selenium_proxy(self, selenium_proxy): proxy = Proxy() proxy.http_proxy = selenium_proxy proxy.ftp_proxy = selenium_proxy proxy.sslProxy = selenium_proxy proxy.no_proxy = None proxy.proxy_type = ProxyType.MANUAL proxy.add_to_capabilities(self.capabilities) self.capabilities["acceptSslCerts"] = True
def __proxy(self): if not hasattr(self.config, 'proxy'): return None PROXY = "{}:{}".format(self.config.proxy.host, self.config.proxy.port) proxy = Proxy() proxy.http_proxy = PROXY proxy.ftp_proxy = PROXY proxy.sslProxy = PROXY proxy.no_proxy = self.config.proxy.no_proxy proxy.proxy_type = ProxyType.MANUAL proxy.autodetect = False return proxy
def test_manual_proxy_is_set_in_profile(): profile = FirefoxProfile() proxy = Proxy() proxy.no_proxy = 'localhost, foo.localhost' proxy.http_proxy = 'some.url:1234' proxy.ftp_proxy = None proxy.sslProxy = 'some2.url' profile.set_proxy(proxy) assert profile.default_preferences["network.proxy.type"] == ProxyType.MANUAL['ff_value'] assert profile.default_preferences["network.proxy.no_proxies_on"] == 'localhost, foo.localhost' assert profile.default_preferences["network.proxy.http"] == 'some.url' assert profile.default_preferences["network.proxy.http_port"] == 1234 assert profile.default_preferences["network.proxy.ssl"] == 'some2.url' assert "network.proxy.ssl_port" not in profile.default_preferences assert "network.proxy.ftp" not in profile.default_preferences
def testCanAddManualProxyToDesiredCapabilities(self): proxy = Proxy() proxy.http_proxy = self.MANUAL_PROXY['httpProxy'] proxy.ftp_proxy = self.MANUAL_PROXY['ftpProxy'] proxy.no_proxy = self.MANUAL_PROXY['noProxy'] proxy.sslProxy = self.MANUAL_PROXY['sslProxy'] proxy.socksProxy = self.MANUAL_PROXY['socksProxy'] proxy.socksUsername = self.MANUAL_PROXY['socksUsername'] proxy.socksPassword = self.MANUAL_PROXY['socksPassword'] desired_capabilities = {} proxy.add_to_capabilities(desired_capabilities) proxy_capabilities = self.MANUAL_PROXY.copy() proxy_capabilities['proxyType'] = 'MANUAL' expected_capabilities = {'proxy': proxy_capabilities} self.assertEqual(expected_capabilities, desired_capabilities)
def testCanAddManualProxyToDesiredCapabilities(self): proxy = Proxy() proxy.http_proxy = self.MANUAL_PROXY["httpProxy"] proxy.ftp_proxy = self.MANUAL_PROXY["ftpProxy"] proxy.no_proxy = self.MANUAL_PROXY["noProxy"] proxy.sslProxy = self.MANUAL_PROXY["sslProxy"] proxy.socksProxy = self.MANUAL_PROXY["socksProxy"] proxy.socksUsername = self.MANUAL_PROXY["socksUsername"] proxy.socksPassword = self.MANUAL_PROXY["socksPassword"] desired_capabilities = {} proxy.add_to_capabilities(desired_capabilities) proxy_capabilities = self.MANUAL_PROXY.copy() proxy_capabilities["proxyType"] = "MANUAL" expected_capabilities = {"proxy": proxy_capabilities} self.assertEqual(expected_capabilities, desired_capabilities)
def test_can_add_manual_proxy_to_desired_capabilities(): proxy = Proxy() proxy.http_proxy = MANUAL_PROXY['httpProxy'] proxy.ftp_proxy = MANUAL_PROXY['ftpProxy'] proxy.no_proxy = MANUAL_PROXY['noProxy'] proxy.sslProxy = MANUAL_PROXY['sslProxy'] proxy.socksProxy = MANUAL_PROXY['socksProxy'] proxy.socksUsername = MANUAL_PROXY['socksUsername'] proxy.socksPassword = MANUAL_PROXY['socksPassword'] proxy.socksVersion = MANUAL_PROXY['socksVersion'] desired_capabilities = {} proxy.add_to_capabilities(desired_capabilities) proxy_capabilities = MANUAL_PROXY.copy() proxy_capabilities['proxyType'] = 'MANUAL' expected_capabilities = {'proxy': proxy_capabilities} assert expected_capabilities == desired_capabilities
def test_manual_proxy_is_set_in_profile(): profile = FirefoxProfile() proxy = Proxy() proxy.no_proxy = 'localhost, foo.localhost' proxy.http_proxy = 'some.url:1234' proxy.ftp_proxy = None proxy.sslProxy = 'some2.url' profile.set_proxy(proxy) assert profile.default_preferences[ "network.proxy.type"] == ProxyType.MANUAL['ff_value'] assert profile.default_preferences[ "network.proxy.no_proxies_on"] == 'localhost, foo.localhost' assert profile.default_preferences["network.proxy.http"] == 'some.url' assert profile.default_preferences["network.proxy.http_port"] == 1234 assert profile.default_preferences["network.proxy.ssl"] == 'some2.url' assert "network.proxy.ssl_port" not in profile.default_preferences assert "network.proxy.ftp" not in profile.default_preferences
def test_manual_proxy_is_set_in_profile(self): # The setup gave us a browser but we dont need it self.driver.quit() self.profile = webdriver.FirefoxProfile() proxy = Proxy() proxy.no_proxy = 'localhost, foo.localhost' proxy.http_proxy = 'some.url:1234' proxy.ftp_proxy = None proxy.sslProxy = 'some2.url' self.profile.set_proxy(proxy) assert self.profile.default_preferences["network.proxy.type"] == ProxyType.MANUAL['ff_value'] assert self.profile.default_preferences["network.proxy.no_proxies_on"] == 'localhost, foo.localhost' assert self.profile.default_preferences["network.proxy.http"] == 'some.url' assert self.profile.default_preferences["network.proxy.http_port"] == 1234 assert self.profile.default_preferences["network.proxy.ssl"] == 'some2.url' assert "network.proxy.ssl_port" not in self.profile.default_preferences assert "network.proxy.ftp" not in self.profile.default_preferences
def testCanAddToDesiredCapabilities(self): desired_capabilities = {} proxy = Proxy() proxy.http_proxy = 'some.url:1234' proxy.ftp_proxy = 'ftp.proxy:1234' proxy.no_proxy = 'localhost, foo.localhost' proxy.sslProxy = 'ssl.proxy:1234' proxy.autodetect = 'True' proxy.add_to_capabilities(desired_capabilities) expected_capabilities = { 'proxy': { 'proxyType': 'MANUAL', 'httpProxy': 'some.url:1234', 'ftpProxy': 'ftp.proxy:1234', 'noProxy': 'localhost, foo.localhost', 'sslProxy': 'ssl.proxy:1234', 'autodetect': 'True' } } print 'descap', desired_capabilities self.assertEqual(expected_capabilities, desired_capabilities)
def proxy_driver(PROXIES, co=co): prox = Proxy() if PROXIES: pxy = PROXIES[-1] else: print("--- Proxies used up. Downloading New List (%s)" % len(PROXIES)) PROXIES = get_proxies() pxy = PROXIES[-1] prox.proxy_type = ProxyType.MANUAL prox.http_proxy = pxy prox.socks_proxy = pxy prox.ssl_proxy = pxy prox.no_proxy = None capabilities = webdriver.DesiredCapabilities.CHROME prox.add_to_capabilities(capabilities) driver = webdriver.Chrome(options=co, desired_capabilities=capabilities, executable_path='chromedriver_mc21') return driver
def set_proxy(self): proxy = Proxy() proxy.proxyType=ProxyType.MANUAL proxy.http_proxy = "%s:%s" % (self.HTTP_PROXY, self.HTTP_PROXY_PORT) proxy.no_proxy = self.NOPROXY proxy.add_to_capabilities(self.capabilities)