在 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&gs_ri=psy-ab&suggest=p&cp=6&gs_id=ix&xhr=t&q=selenium&es_nrs=true&pf=p&output=search&sclient=psy-ab&oq=seleni&gs_l=&pbx=1&bav=on.2,or.r_qf.&bvm=bv.47883778,d.ZGU&fp=7c0d9024de9ac6ab&biw=592&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中文网其他相关文章!