当前位置: 首页 > 面试题库 >

在Selenium期间更改代理服务器

商飞龙
2023-03-14
问题内容

所以一切正常

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()

也是如此。

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

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


问题答案:

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



 类似资料:
  • 我在硒写测试,想改变代理到自动检测在火狐,默认是从系统设置代理。怎么做呢? 我的代码如下: 上面的代码来自如何使用SeleniumWebDriver和Java为firefox设置代理? 但在行驱动=new FirefoxDriver(配置文件)我得到:构造函数FirefoxDriver(FirefoxProfile)是未定义的

  • 问题内容: 我一直在使用selenium在python中自动进行浏览器模拟和Web抓取,对我来说效果很好。但是现在,我必须在代理服务器后运行它。现在,selenium打开了窗口,但是由于未在打开的浏览器中设置代理设置而无法打开请求的页面。当前代码如下(示例): 如何更改上面的代码以立即与代理服务器一起使用? 问题答案: 您需要设置所需的功能或浏览器配置文件,如下所示:

  • 您好,我正在从db中获取日期,其中日期列的类型为“date”,然后将其拆分并串联成字符串存储在db中 当从本地环境执行程序时,它工作正常,时间存储为28-09-2021 15:34:42,当通过服务器执行程序时,它以12小时格式28-09-2021 03:34:42PM存储,这会产生问题并引发错误。如果您有任何关于如何解决此问题的想法,我们将不胜感激。

  • 问题内容: 我正在尝试找出一种方法,每当我在此特定脚本中通过Selenium(在Python中)打开Chrome时,Chrome页面都会自动打开,并选择另一个用户代理- 在这种情况下为Microsoft Edge Mobile(但我会从桌面访问它)。 因此,在进行了一些研究之后,我能够整理以下代码,我认为这些代码将在Chrome中执行用户代理开关,然后打开一个新的Bing.com页面: 但是,该代

  • 我正试图更改我的用户代理,并将更改后的用户代理打印到终端,以检查它是否已成功更改,但我没有运气。 def拦截器(请求): 我也不能从selenium wire打印用户代理,我只能使用此方法。 打印(代理) 请有人帮忙,不胜感激:)

  • 问题内容: 我目前正在成功使用以下代码在Selenium Webdriver中使用代理。不幸的是,如果不重新启动整个浏览器,我似乎无法使其更改代理设置。我曾希望仅更新代理服务器设置(就像我将代理服务器设置为开始那样)会更改代理服务器,但似乎不起作用。在这个问题上的任何帮助将不胜感激。 问题答案: 这是一个有点老的问题。但是实际上有可能通过“ hacky way ” 动态地更改代理,我将在 Fire