【问题标题】:How do i set up proxy in selenium?如何在 selenium 中设置代理?
【发布时间】:2018-03-19 21:30:31
【问题描述】:

我一直在尝试为我的 selenium webdriver 实现代理。不知道我的代码有什么问题。有什么想法吗?

import os
from selenium import webdriver
def open_browser():
    chromeUrl= "C:/Users/Drivers/chromedriver.exe"
    firefoxUrl= "C:/Users/Drivers/geckodriver.exe"
    edgeUrl="C:/Users/Drivers/MicrosoftWebDriver.exe"
    print("Starting opening web browser")
    try:
        f= open('saved/proxy.txt','r')  
        proxy_ip = f.read()
        f.close()
        PROXY= proxy_ip
        print("I have download a proxy: " + PROXY)


        if len(proxy_ip) <= 1:
            print("No Proxy will be used...")
            driver = webdriver.Firefox(executable_path= firefoxUrl)

        else:
             webdriver.DesiredCapabilities.Edge['proxy'] = {
            "httpProxy":PROXY,
            "ftpProxy":PROXY,
            "sslProxy":PROXY,
            "noProxy":None,
            "proxyType":"MANUAL",
            "class":"org.openqa.selenium.Proxy",
            "autodetect":False}
            driver = webdriver.Remote("http://localhost:4444/wd/hub", webdriver.DesiredCapabilities.Edge(EdgeUrl))




    except:
        os.system("python proxy_request.py")
        print("Warning: No proxy")
        driver = webdriver.Edge(executable_path= "C:/Users/Drivers/MicrosoftWebDriver.exe")
    driver.implicitly_wait(10)
    driver.set_page_load_timeout(300)
    return driver
driver = open_browser()
url = 'htttp://www.google.com'
driver.get(url)

我无法处理这个问题。官方 webdriver 文档中的一半代码,虽然我找不到 EDGE 的代码。

【问题讨论】:

  • 错误信息是什么?

标签: python selenium testing selenium-webdriver microsoft-edge


【解决方案1】:

根据official docs,edge webdriver 不支持代理。看来,MS 并不想在这方面工作。

【讨论】:

    【解决方案2】:

    官方文档中没有太多关于在 edge webdriver 中添加代理的内容。但是您可以使用edgeOptions.AddArgument("--user-agent=xxx")edgeOptions.AddArgument("--proxy-server=xxx") 来设置代理和用户代理。

    options = EdgeOptions()
    options.use_chromium = True
    options.add_argument("headless")
    options.add_argument("disable-gpu")
    #Here we try to set Firefox user agent...
    options.add_argument("--user-agent=mozilla/5.0 (windows nt 10.0; win64; x64; rv:78.0) gecko/20100101 firefox/78.0"); 
    #Change the link below for adding proxy
    options.add_argument("--proxy-erver=http://user:password@yourProxyServer.com:8080");
    

    参考: https://docs.microsoft.com/en-us/answers/questions/376056/microsoftedgeseleniumtools-assign-a-custom-proxy.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      • 2021-10-10
      • 2011-06-01
      • 2015-03-19
      相关资源
      最近更新 更多