首页 >后端开发 >Python教程 >使用 Python 自动化 Web 操作时如何解决 Selenium 代理错误?

使用 Python 自动化 Web 操作时如何解决 Selenium 代理错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-19 19:27:02827浏览

How to Resolve Selenium Proxy Errors When Automating Web Actions Using Python?

在 Python 中使用代理运行 Selenium Webdriver:排除代理错误

使用 Selenium Webdriver 自动化 Web 操作通常需要使用代理服务器。但是,将代理集成到 Selenium 脚本中可能会带来挑战。

一个常见问题是当 Selenium 浏览器无法访问指定 URL 或执行任何操作时收到错误消息。研究代码可能会发现代理设置的实现不正确。

例如,此代码片段演示了一个基本的 Selenium Webdriver 脚本,该脚本旨在导航到 Google Ireland 并搜索“selenium”:

<code class="python">from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

myProxy = "http://149.215.113.110:70"

proxy = Proxy({
    'proxyType': ProxyType.MANUAL,
    'httpProxy': myProxy,
    'ftpProxy': myProxy,
    'sslProxy': myProxy,
    'noProxy':''
})

driver = webdriver.Firefox(proxy=proxy)
driver.implicitly_wait(30)
driver.get("https://www.google.ie/#gs_rn=17&amp;gs_ri=psy-ab&amp;suggest=p&amp;cp=6&amp;gs_id=ix&amp;xhr=t&amp;q=selenium&amp;es_nrs=true&amp;pf=p&amp;output=search&amp;sclient=psy-ab&amp;oq=seleni&amp;gs_l=&amp;pbx=1&amp;bav=on.2,or.r_qf.&amp;bvm=bv.47883778,d.ZGU&amp;fp=7c0d9024de9ac6ab&amp;biw=592&amp;bih=665")</code>

但是,执行此脚本可能会导致错误。要解决此问题,建议采用更简洁有效的方法:

<code class="python">from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

prox = Proxy()
prox.proxy_type = ProxyType.MANUAL
prox.http_proxy = "ip_addr:port"
prox.socks_proxy = "ip_addr:port"
prox.ssl_proxy = "ip_addr:port"

capabilities = webdriver.DesiredCapabilities.CHROME
prox.add_to_capabilities(capabilities)

driver = webdriver.Chrome(desired_capabilities=capabilities)</code>

通过使用此修订后的方法,您应该能够使用代理成功配置 Selenium Webdriver 脚本并执行所需的 Web 自动化任务.

以上是使用 Python 自动化 Web 操作时如何解决 Selenium 代理错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn