如何使用Python和Selenium为无头浏览器PhantomJS设置网络首选项参数

时间:2018-05-14 08:40:10

标签: python-2.7 selenium selenium-webdriver phantomjs ghostdriver

如何为Phantomjs无头浏览器实现以下配置文件集首选项。

def browser():
    print("Setting up webdriver connection...")
    global driver
    if driver is None:
        profile = webdriver.FirefoxProfile()
        profile.accept_untrusted_certs = True
        profile.set_preference("network.proxy.type",1)
        profile.set_preference("network.proxy.http","web-proxy.xxxx.xx.com")
        profile.set_preference("network.proxy.https","web-proxy.xxxx.xx.com")
        profile.set_preference("network.proxy.ssl","web-proxy.xxxx.xx.com")
        profile.set_preference("network.proxy.http_port",8080)
        profile.set_preference("network.proxy.https_port",8080)
        profile.set_preference("network.proxy.ssl_port",8080)
        profile.update_preferences()
        driver = webdriver.Firefox(firefox_profile=profile)
        driver.maximize_window()
        yield driver
        driver.quit()

我正在使用python 2.7,selenium 3.0和phantomjs 1.9.7。

1 个答案:

答案 0 :(得分:0)

要为 PhantomJS无头浏览器设置网络偏好设置,您可以使用参数 service_args ,如下所示:

driver = webdriver.PhantomJS(executable_path="/path/to/phantomjs", service_args=['--proxy-type=[http|socks5|none]', '--proxy=address:port'])

Windows操作系统上的示例:

driver = webdriver.PhantomJS(executable_path=r'C:\Utility\phantomjs-2.1.1-windows\bin\phantomjs.exe', service_args=['--proxy-type=http', '--proxy=web-proxy.xxxx.xx.com:8080'])

注意:考虑升级到最新的 Selenium / Python客户端v3.12.0 和最新的 PhantomJS版本v2.1.1