在Selenium期间更改代理服务器

时间:2016-09-30 12:11:16

标签: python selenium selenium-webdriver proxy updates

所以一切正常

var result = dbAnimal.GroupBy(a => a.animal)
                     .Select(grp => new Animal {
                         animalDesc = grp.Key,
                         animalType = grp.Select(e => new AnimalType {
                             typeDesc = e.type 
                         }).ToList()
                      });

但是如果已经创建了驱动程序,则代理无法安装。 它不起作用

fp = webdriver.FirefoxProfile()
fp.set_preference("network.proxy.type", 1)
fp.set_preference("network.proxy.http", PROXY_HOST)
fp.set_preference("network.proxy.http_port", int(PROXY_PORT))
fp.update_preferences()
driver = webdriver.Firefox(firefox_profile=fp)

同样如此。

driver = webdriver.Firefox()
driver.profile.set_preference("network.proxy.type", 1)
driver.profile.set_preference("network.proxy.http", PROXY_HOST)
driver.profile.set_preference("network.proxy.http_port", int(PROXY_PORT))
driver.profile.update_preferences()

为什么呢?不能理解。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

在Firefox中使用WebDriver时,使用配置文件是一次性的事情。当驱动程序启动浏览器时,它会将配置文件对象写入磁盘,然后启动浏览器可执行文件。在此之后,浏览器没有机制来读取对WebDriver配置文件对象的任何进一步更改。要更改代理,您必须在启动浏览器之前在配置文件中设置设置。