当前位置: 首页>>代码示例>>Python>>正文


Python Proxy.add_to_capabilities方法代码示例

本文整理汇总了Python中selenium.webdriver.common.proxy.Proxy.add_to_capabilities方法的典型用法代码示例。如果您正苦于以下问题:Python Proxy.add_to_capabilities方法的具体用法?Python Proxy.add_to_capabilities怎么用?Python Proxy.add_to_capabilities使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在selenium.webdriver.common.proxy.Proxy的用法示例。


在下文中一共展示了Proxy.add_to_capabilities方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: tt1

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
def tt1():
    desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()
    headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
               'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
               'Cache-Control': 'max-age=0',
               'Connection': 'keep-alive',
               'Host': 'www.dianping.com',
               }
    for key, value in headers.iteritems():
        desired_capabilities['phantomjs.page.customHeaders.{}'.format(key)] = value
    desired_capabilities[
        'phantomjs.page.customHeaders.User-Agent'] = \
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) ' \
        'AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 ' \
        'Safari/604.1.38'
    ip_port = random.choice(redis_conn1())
    print ip_port
    proxy = Proxy(
        {
            'proxyType': ProxyType.MANUAL,
            'httpProxy': '%s' % ip_port  # 代理ip和端口
        }
    )

    proxy.add_to_capabilities(desired_capabilities)
    print desired_capabilities
    driver = webdriver.PhantomJS(desired_capabilities=desired_capabilities)
    driver.set_page_load_timeout(10)
    driver.get("http://www.dianping.com/shop/%s" % ['76964345', '15855144', ])
    list1 = driver.find_elements_by_xpath('//div[@class="comment-condition J-comment-condition Fix"]/div/span/a')
    for l in list1:
        print l.text
    if '403 Forbidden' in driver.page_source:
        print driver.page_source
    driver.close()
开发者ID:qingfengliu,项目名称:python_study,代码行数:37,代码来源:dianping_phantomjs.py

示例2: test_what_things_look_like

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    def test_what_things_look_like(self):
        bmp_capabilities = copy.deepcopy(selenium.webdriver.common.desired_capabilities.DesiredCapabilities.FIREFOX)
        self.client.add_to_capabilities(bmp_capabilities)

        proxy_capabilities = copy.deepcopy(selenium.webdriver.common.desired_capabilities.DesiredCapabilities.FIREFOX)
        proxy = Proxy({'httpProxy': 'localhost:%d' % self.client.port})
        proxy.add_to_capabilities(proxy_capabilities)

        assert bmp_capabilities == proxy_capabilities
开发者ID:Inetgate,项目名称:browsermob-proxy-py,代码行数:11,代码来源:test_webdriver.py

示例3: testCanAddAutodetectProxyToDesiredCapabilities

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
def testCanAddAutodetectProxyToDesiredCapabilities():
    proxy = Proxy()
    proxy.auto_detect = AUTODETECT_PROXY['autodetect']

    desired_capabilities = {}
    proxy.add_to_capabilities(desired_capabilities)

    proxy_capabilities = AUTODETECT_PROXY.copy()
    proxy_capabilities['proxyType'] = 'AUTODETECT'
    expected_capabilities = {'proxy': proxy_capabilities}
    assert expected_capabilities == desired_capabilities
开发者ID:Allariya,项目名称:selenium,代码行数:13,代码来源:proxy_tests.py

示例4: testCanAddAutodetectProxyToDesiredCapabilities

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    def testCanAddAutodetectProxyToDesiredCapabilities(self):
        proxy = Proxy()
        proxy.auto_detect = self.AUTODETECT_PROXY["autodetect"]

        desired_capabilities = {}
        proxy.add_to_capabilities(desired_capabilities)

        proxy_capabilities = self.AUTODETECT_PROXY.copy()
        proxy_capabilities["proxyType"] = "AUTODETECT"
        expected_capabilities = {"proxy": proxy_capabilities}
        self.assertEqual(expected_capabilities, desired_capabilities)
开发者ID:RanchoLi,项目名称:selenium,代码行数:13,代码来源:proxy_tests.py

示例5: testCanAddPACProxyToDesiredCapabilities

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    def testCanAddPACProxyToDesiredCapabilities(self):
        proxy = Proxy()
        proxy.proxy_autoconfig_url = self.PAC_PROXY['proxyAutoconfigUrl']

        desired_capabilities = {}
        proxy.add_to_capabilities(desired_capabilities)

        proxy_capabilities = self.PAC_PROXY.copy()
        proxy_capabilities['proxyType'] = 'PAC'
        expected_capabilities = {'proxy': proxy_capabilities}
        self.assertEqual(expected_capabilities, desired_capabilities)
开发者ID:217,项目名称:selenium,代码行数:13,代码来源:proxy_tests.py

示例6: testCanAddPACProxyToDesiredCapabilities

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
def testCanAddPACProxyToDesiredCapabilities():
    proxy = Proxy()
    proxy.proxy_autoconfig_url = PAC_PROXY['proxyAutoconfigUrl']

    desired_capabilities = {}
    proxy.add_to_capabilities(desired_capabilities)

    proxy_capabilities = PAC_PROXY.copy()
    proxy_capabilities['proxyType'] = 'PAC'
    expected_capabilities = {'proxy': proxy_capabilities}
    assert expected_capabilities == desired_capabilities
开发者ID:Allariya,项目名称:selenium,代码行数:13,代码来源:proxy_tests.py

示例7: testCanAddManualProxyToDesiredCapabilities

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    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)
开发者ID:RanchoLi,项目名称:selenium,代码行数:19,代码来源:proxy_tests.py

示例8: __init__

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    def __init__(self, host="127.0.0.1", server="./selenium-server.jar"):
        if server and path.isfile(server) and not _server_started():
            self.selenium = _Selenium(server)

        proxy = Proxy({
            'proxyType': ProxyType.MANUAL,
            'httpProxy': host,
            'ftpProxy': host,
            'sslProxy': host,
            'noProxy': host 
        })
        caps = webdriver.DesiredCapabilities.FIREFOX
        proxy.add_to_capabilities(caps)
        try:
            self.driver = webdriver.Remote(desired_capabilities=caps)
        except URLError:
            raise SeleniumServerError
开发者ID:jsimnz,项目名称:selenate,代码行数:19,代码来源:selenate.py

示例9: __init__

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    def __init__(self, host="127.0.0.1", server="./selenium-server.jar"):
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        port = sock.connect_ex(("127.0.0.1", 4444)) == 0
        if server and path.isfile(server) and not port:
            self.selenium = _Selenium(server)

        proxy = Proxy({
            'proxyType': ProxyType.MANUAL,
            'httpProxy': host,
            'ftpProxy': host,
            'sslProxy': host,
            'noProxy': host 
        })
        caps = webdriver.DesiredCapabilities.FIREFOX
        proxy.add_to_capabilities(caps)
        try:
            self.driver = webdriver.Remote(desired_capabilities=caps)
        except URLError:
            raise SeleniumServerError
开发者ID:dkua,项目名称:selenate,代码行数:21,代码来源:selenate.py

示例10: testCanInitEmptyProxy

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
def testCanInitEmptyProxy():
    proxy = Proxy()
    assert ProxyType.UNSPECIFIED == proxy.proxy_type
    assert '' == proxy.http_proxy
    assert '' == proxy.ftp_proxy
    assert '' == proxy.no_proxy
    assert '' == proxy.sslProxy
    assert '' == proxy.socksProxy
    assert '' == proxy.socksUsername
    assert '' == proxy.socksPassword
    assert proxy.auto_detect is False
    assert '' == proxy.proxy_autoconfig_url

    desired_capabilities = {}
    proxy.add_to_capabilities(desired_capabilities)

    proxy_capabilities = {}
    proxy_capabilities['proxyType'] = 'UNSPECIFIED'
    expected_capabilities = {'proxy': proxy_capabilities}
    assert expected_capabilities == desired_capabilities
开发者ID:Allariya,项目名称:selenium,代码行数:22,代码来源:proxy_tests.py

示例11: testCanInitEmptyProxy

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    def testCanInitEmptyProxy(self):
        proxy = Proxy()

        self.assertEqual(ProxyType.UNSPECIFIED, proxy.proxy_type)
        self.assertEqual('', proxy.http_proxy)
        self.assertEqual('', proxy.ftp_proxy)
        self.assertEqual('', proxy.no_proxy)
        self.assertEqual('', proxy.sslProxy)
        self.assertEqual('', proxy.socksProxy)
        self.assertEqual('', proxy.socksUsername)
        self.assertEqual('', proxy.socksPassword)
        self.assertEqual(False, proxy.auto_detect)
        self.assertEqual('', proxy.proxy_autoconfig_url)

        desired_capabilities = {}
        proxy.add_to_capabilities(desired_capabilities)

        proxy_capabilities = {}
        proxy_capabilities['proxyType'] = 'UNSPECIFIED'
        expected_capabilities = {'proxy': proxy_capabilities}
        self.assertEqual(expected_capabilities, desired_capabilities)
开发者ID:217,项目名称:selenium,代码行数:23,代码来源:proxy_tests.py

示例12: _setup_driver

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    def _setup_driver(self):
        proxy = Proxy()
        proxy.proxy_type = ProxyType.DIRECT
        if 'http' in self.proxy:
            proxy.http_proxy = self.proxy['http']
        if 'https' in self.proxy:
            proxy.ssl_proxy = self.proxy['https']

        capa = self._build_capabilities()
        proxy.add_to_capabilities(capa)

        options = self._build_options()
        # TODO some browsers don't need headless
        # TODO handle different proxy setting?
        options.set_headless(self.HEADLESS)

        if self.DRIVER is webdriver.Firefox:
            if self.responses_dirname and not os.path.isdir(self.responses_dirname):
                os.makedirs(self.responses_dirname)

            options.profile = DirFirefoxProfile(self.responses_dirname)
            if self.responses_dirname:
                capa['profile'] = self.responses_dirname
            self.driver = self.DRIVER(options=options, capabilities=capa)
        elif self.DRIVER is webdriver.Chrome:
            self.driver = self.DRIVER(options=options, desired_capabilities=capa)
        elif self.DRIVER is webdriver.PhantomJS:
            if self.responses_dirname:
                if not os.path.isdir(self.responses_dirname):
                    os.makedirs(self.responses_dirname)
                log_path = os.path.join(self.responses_dirname, 'selenium.log')
            else:
                log_path = NamedTemporaryFile(prefix='weboob_selenium_', suffix='.log', delete=False).name

            self.driver = self.DRIVER(desired_capabilities=capa, service_log_path=log_path)
        else:
            raise NotImplementedError()

        if self.WINDOW_SIZE:
            self.driver.set_window_size(*self.WINDOW_SIZE)
开发者ID:laurentb,项目名称:weboob,代码行数:42,代码来源:selenium.py

示例13: testCanAddToDesiredCapabilities

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    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)
开发者ID:Cpaniyadi,项目名称:selenium,代码行数:26,代码来源:proxy_tests.py

示例14: get_browser

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
def get_browser(user_agent, proxy_address, cert_path):
    """ Set up a Selenium browser with given user agent, proxy and SSL cert. """
    # PhantomJS
    if settings.CAPTURE_BROWSER == 'PhantomJS':
        desired_capabilities = dict(DesiredCapabilities.PHANTOMJS)
        desired_capabilities["phantomjs.page.settings.userAgent"] = user_agent
        browser = webdriver.PhantomJS(
            executable_path=getattr(settings, 'PHANTOMJS_BINARY', 'phantomjs'),
            desired_capabilities=desired_capabilities,
            service_args=[
                "--proxy=%s" % proxy_address,
                "--ssl-certificates-path=%s" % cert_path,
                "--ignore-ssl-errors=true",
                "--local-url-access=false",
                "--local-storage-path=.",
            ],
            service_log_path=settings.PHANTOMJS_LOG)

    # Firefox
    elif settings.CAPTURE_BROWSER == 'Firefox':
        desired_capabilities = dict(DesiredCapabilities.FIREFOX)
        proxy = Proxy({
            'proxyType': ProxyType.MANUAL,
            'httpProxy': proxy_address,
            'ftpProxy': proxy_address,
            'sslProxy': proxy_address,
        })
        proxy.add_to_capabilities(desired_capabilities)
        profile = webdriver.FirefoxProfile()
        profile.accept_untrusted_certs = True
        profile.assume_untrusted_cert_issuer = True
        browser = webdriver.Firefox(
            capabilities=desired_capabilities,
            firefox_profile=profile)

    # Chrome
    elif settings.CAPTURE_BROWSER == 'Chrome':
        # http://blog.likewise.org/2015/01/setting-up-chromedriver-and-the-selenium-webdriver-python-bindings-on-ubuntu-14-dot-04/
        download_dir = os.path.abspath('./downloads')
        os.mkdir(download_dir)
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument('--proxy-server=%s' % proxy_address)
        chrome_options.add_argument('--test-type')
        chrome_options.add_experimental_option("prefs", {"profile.default_content_settings.popups": "0",
                                                         "download.default_directory": download_dir,
                                                         "download.prompt_for_download": "false"})
        desired_capabilities = chrome_options.to_capabilities()
        desired_capabilities["acceptSslCerts"] = True

        # for more detailed progress updates
        # desired_capabilities["loggingPrefs"] = {'performance': 'INFO'}
        # then:
        # performance_log = browser.get_log('performance')

        browser = webdriver.Chrome(desired_capabilities=desired_capabilities)

    else:
        assert False, "Invalid value for CAPTURE_BROWSER."

    browser.implicitly_wait(ELEMENT_DISCOVERY_TIMEOUT)
    browser.set_page_load_timeout(ROBOTS_TXT_TIMEOUT)

    return browser
开发者ID:thatandromeda,项目名称:perma,代码行数:65,代码来源:tasks.py

示例15: start_client

# 需要导入模块: from selenium.webdriver.common.proxy import Proxy [as 别名]
# 或者: from selenium.webdriver.common.proxy.Proxy import add_to_capabilities [as 别名]
    def start_client(self):
        capabilities = {}
        for c in self.capabilities:
            name, value = c.split(':')
            # handle integer capabilities
            if value.isdigit():
                value = int(value)
            # handle boolean capabilities
            elif value.lower() in ['true', 'false']:
                value = value.lower() == 'true'
            capabilities.update({name: value})
        if self.proxy_host and self.proxy_port:
            proxy = Proxy()
            proxy.http_proxy = '%s:%s' % (self.proxy_host, self.proxy_port)
            proxy.ssl_proxy = proxy.http_proxy
            proxy.add_to_capabilities(capabilities)
        profile = None

        if self.driver.upper() == 'REMOTE':
            capabilities.update(getattr(webdriver.DesiredCapabilities, self.browser_name.upper()))
            if json.loads(self.chrome_options) or self.extension_paths:
                capabilities = self.create_chrome_options(
                    self.chrome_options,
                    self.extension_paths).to_capabilities()
            if self.browser_name.upper() == 'FIREFOX':
                profile = self.create_firefox_profile(
                    self.firefox_preferences,
                    self.profile_path,
                    self.extension_paths)
            if self.browser_version:
                capabilities['version'] = self.browser_version
            capabilities['platform'] = self.platform.upper()
            executor = 'http://%s:%s/wd/hub' % (self.host, self.port)
            try:
                self.selenium = webdriver.Remote(command_executor=executor,
                                                 desired_capabilities=capabilities or None,
                                                 browser_profile=profile)
            except AttributeError:
                valid_browsers = [attr for attr in dir(webdriver.DesiredCapabilities) if not attr.startswith('__')]
                raise AttributeError("Invalid browser name: '%s'. Valid options are: %s" % (self.browser_name, ', '.join(valid_browsers)))

        elif self.driver.upper() == 'CHROME':
            options = None
            if self.chrome_options or self.extension_paths:
                options = self.create_chrome_options(
                    self.chrome_options,
                    self.extension_paths)
            if self.chrome_path:
                self.selenium = webdriver.Chrome(executable_path=self.chrome_path,
                                                 chrome_options=options,
                                                 desired_capabilities=capabilities or None)
            else:
                self.selenium = webdriver.Chrome(chrome_options=options,
                                                 desired_capabilities=capabilities or None)

        elif self.driver.upper() == 'FIREFOX':
            binary = self.firefox_path and FirefoxBinary(self.firefox_path) or None
            profile = self.create_firefox_profile(
                self.firefox_preferences,
                self.profile_path,
                self.extension_paths)
            self.selenium = webdriver.Firefox(
                firefox_binary=binary,
                firefox_profile=profile,
                capabilities=capabilities or None)
        elif self.driver.upper() == 'IE':
            self.selenium = webdriver.Ie()
        elif self.driver.upper() == 'PHANTOMJS':
            self.selenium = webdriver.PhantomJS()
        elif self.driver.upper() == 'OPERA':
            capabilities.update(webdriver.DesiredCapabilities.OPERA)
            self.selenium = webdriver.Opera(executable_path=self.opera_path,
                                            desired_capabilities=capabilities)
        elif self.driver.upper() == 'BROWSERSTACK':
            from cloud import BrowserStack
            self.cloud = BrowserStack()
            self.selenium = self.cloud.driver(
                self.test_id, capabilities, self.options)
        elif self.driver.upper() == 'SAUCELABS':
            from cloud import SauceLabs
            self.cloud = SauceLabs()
            self.selenium = self.cloud.driver(
                self.test_id, capabilities, self.options, self.keywords)
        else:
            self.selenium = getattr(webdriver, self.driver)()

        if self.event_listener is not None and not isinstance(self.selenium, EventFiringWebDriver):
            self.selenium = EventFiringWebDriver(self.selenium, self.event_listener())
开发者ID:birdsarah,项目名称:pytest-mozwebqa,代码行数:90,代码来源:selenium_client.py


注:本文中的selenium.webdriver.common.proxy.Proxy.add_to_capabilities方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。