社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

在Python SeleFirefox网络驱动程序上配置代理

Rimo • 5 年前 • 1553 次点击  

我不能通过硒火狐浏览器使用代理连接。

使用此配置,将生成连接,但不通过代理,而是通过本地服务器。

关于这件事有两个问题 this documentation, 但似乎没有人能解决蟒蛇3的问题:

def selenium_connect():

    proxy = "178.20.231.218"
    proxy_port = 80
    url = "https://www.whatsmyip.org/"

    fp = webdriver.FirefoxProfile()
    # Direct = 0, Manual = 1, PAC = 2, AUTODETECT = 4, SYSTEM = 5
    fp.set_preference("network.proxy.type", 1)
    fp.set_preference("network.proxy.http",proxy)
    fp.set_preference("network.proxy.http_port",proxy_port)
    fp.update_preferences()
    driver = webdriver.Firefox(firefox_profile=fp)
    driver.get(url)

我使用的是FirefoxWebDriver版本52.0.2和Python3.7以及标准的Ubuntu16.04Docker环境。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49643
 
1553 次点击  
文章 [ 2 ]  |  最新文章 5 年前
C. Peck
Reply   •   1 楼
C. Peck    6 年前

您不需要将代理设置为具有期望的功能,而不是在FirefoxProfile中吗?如下所示。

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.proxy import Proxy

proxy_to_use= "xxx.xxx.xxx.xxx"
desired_capability = webdriver.DesiredCapabilities.FIREFOX
desired_capability['proxy'] = {
    'proxyType': "manual",
    'httpProxy': proxy_to_use,
    'ftpProxy': proxy_to_use,
    'sslProxy': proxy_to_use
        }
 browser = webdriver.Firefox(capabilities=desired_capability)
 browser.get(“http://www.whatsmyip.org”)
James
Reply   •   2 楼
James    6 年前

我通过在Windows级别迭代代理而不是用硒来解决这个问题。

通过PUTTY以编程方式重新配置SSH连接,这为整个会话创建了一个隧道。更先进的设置,但更可靠。

我使用类似AppRobotic的工具,它具有紧密的Windows集成,但是任何好的宏或RPA产品都应该这样做。我使用带有Selenium的Python绑定,但使用VBScript更新Windows配置。

用Python编写的主AppRobotic脚本可以在每次迭代中运行proxy config update脚本,同时自动化其他应用程序,例如遍历Excel或记事本行并在浏览器中执行某些操作,因为VBScript脚本可以被视为单独的“宏”。