首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Phantomjs Selenium WebDriver中的自定义标头

Phantomjs Selenium WebDriver中的自定义标头
EN

Stack Overflow用户
提问于 2013-07-25 20:56:20
回答 1查看 15.8K关注 0票数 17

根据this的说法,现在可以修改报头。我需要修改PhantomJS网络驱动程序中的接受语言。此代码不起作用

代码语言:javascript
复制
DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.Accept-Language'] = 'ru-RU'
driver = webdriver.PhantomJS()

有没有可能以某种方式配置Phantomjs来发送我的报头?我不关心在哪里: ghostdriver,phantomjs还是phantomjs-webdriver。

EN

回答 1

Stack Overflow用户

发布于 2016-10-14 15:41:06

我编写了一个完整的示例来设置selenium phantomjs中的所有头文件、窗口大小和代理:

代码语言:javascript
复制
from selenium import webdriver

def init_phantomjs_driver(*args, **kwargs):

    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',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0',
        'Connection': 'keep-alive'
    }

    for key, value in headers.iteritems():
        webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.{}'.format(key)] = value

    webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.settings.userAgent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'

    driver =  webdriver.PhantomJS(*args, **kwargs)
    driver.set_window_size(1400,1000)

    return driver


def main():
    service_args = [
        '--proxy=127.0.0.1:9999',
        '--proxy-type=http',
        '--ignore-ssl-errors=true'
        ]

    driver = init_phantomjs_driver(service_args=service_args)

    driver.get('http://cn.bing.com')

注意:

phantomjs.page.settings.userAgent中而不是在phantomjs.page.customHeaders中设置userAgent

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17858663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档