在 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中文網其他相關文章!