代理未在 chrome 驱动程序的 selenium 中连接

Proxy not connecting in selenium in chrome driver

提问人:Shadow 提问时间:6/7/2023 更新时间:6/7/2023 访问量:367

问:

我正在构建一个代码来在 Selenium 中做一些事情,我必须连接到代理才能使其工作,我有一些 resendetial 代理,但是当我在 selenium 上尝试它们时,它显示一个错误我也尝试了各种驱动程序

我使用了以下代码:

proxy_url = f"{proxy_username}:{proxy_password}@{proxy_address}:{proxy_port}"
options = Options()
options.add_argument('--proxy-server=http://%s' % proxy_url)
driver = webdriver.Chrome(options=options)
driver.get('https://idk.me')
print(driver.page_source)
time.sleep(50)
driver.quit()

使用此功能时,我得到:“无法访问此站点 https://idk.me 的网页可能暂时关闭,或者可能已永久移动到新的网址。 ERR_NO_SUPPORTED_PROXIES 我也尝试过使用Firefox,但是用户和通行证身份验证不断弹出

python selenium-webdriver 代理 webdriver 代理

评论

0赞 Shadow 6/7/2023
我也试过: ''' proxy_url = “{}:{}@{}:{}”.format(user, passs, ip, port) webdriver.DesiredCapabilities.CHROME['proxy'] = { “httpProxy”: proxy_url, “ftpProxy”: proxy_url, “sslProxy”: proxy_url, “noProxy”: None, “proxyType”: “MANUAL”, “class”: “org.openqa.selenium.Proxy”, “autodetect”: False } url = 'ufficiocamerale.it' driver = webdriver.Chrome(desired_capabilities=web驱动程序。DesiredCapabilities.CHROME) ''' 但它显示我的 ip 而不是代理

答:

1赞 Michael Mintz 6/7/2023 #1

如果您想将 Selenium 与具有身份验证的代理服务器一起使用,您需要使用正确的配置创建 Chromium 扩展,详见此处:https://stackoverflow.com/a/35293284/7058266

或者,您可以使用 selenium-wire 在具有身份验证的代理服务器上运行 Selenium,详见:https://stackoverflow.com/a/56276796/7058266

另一种方法是使用命令行选项运行 SeleniumBase 测试,该选项指定具有身份验证的代理服务器:

pytest --proxy=USERNAME:PASSWORD@IP_ADDRESS:PORT

(该选项可以为您创建 Chromium 扩展程序。

评论

0赞 Shadow 6/8/2023
嘿,当我尝试使用第一个时,似乎我不能使用带有扩展的无头模式,所以当我尝试 selenium-wire 时我无法使用它,它向我显示了很多错误,例如未找到 HTTP 404 等。 我没有 tunderstanf 第三个介意解释?
0赞 Michael Mintz 6/8/2023
如果要将无外设模式与扩展一起使用,请参阅 stackoverflow.com/a/73840130/7058266 了解新的无头模式。
0赞 Shadow 6/8/2023
我尝试使用--headless=chrome,但显示相同
1赞 Michael Mintz 6/8/2023
您需要 Chrome 109 及更高版本。--headless=new
1赞 mirekphd 7/5/2023
只需添加指向新 Chrome 无头模式发行说明的链接(没有它,您将获得空白页面! @MichaelMintz:让我暂时欣赏您的一些最好的答案......