当前位置: 首页 > 知识库问答 >
问题:

如何在运行时更改Firefox web驱动程序代理设置?

柳奇思
2023-03-14

我使用Selenium 2.35.0并配置代理设置,如:

DesiredCapabilities cap = new DesiredCapabilities();
org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setHttpProxy(proxyStr).setFtpProxy(proxyStr).setSslProxy(proxyStr);
cap.setCapability(CapabilityType.PROXY, proxy);

driver = new FirefoxDriver(firefox, profile, cap);

当我需要更改代理设置时,我强制重新启动webdriver并指定其他“proxyStr”。

我如何能达到这一变化没有WebDrive重启?

共有1个答案

百里弘致
2023-03-14

当您为任何给定的驱动程序设置代理时,它仅在创建WebDriver会话时设置;它不能在运行时更改。即使您获得了创建的会话的功能,也无法更改它。所以答案是,不,如果你想使用不同的代理设置,你必须启动一个新的会话。

 类似资料:
  • 问题内容: 我使用Selenium 2.35.0并配置代理设置,例如: 当我需要更改代理设置时,我会强制重新启动Webdriver并指定其他“ proxyStr”。 如何在不重新启动Webdriver的情况下实现此更改? 问题答案: 为任何给定的驱动程序设置代理时,仅在创建WebDriver会话时设置代理;它不能在运行时更改。即使您具有创建的会话的功能,也将无法更改它。因此,答案是,不,如果要使用

  • 按照标题,我有一个远程selenium驱动程序(带有Chrome功能),我需要改变它的用户代理,而不需要创建另一个驱动程序。

  • 问题内容: 我在以下代码中: 我想打印用户代理HTTP标头,并可能对其进行更改。可能吗? 问题答案: Selenium中无法读取请求或响应头。您可以通过指示浏览器通过记录此类信息的代理进行连接来实现。 在Firefox中设置用户代理 更改Firefox用户代理的通常方法是在Firefox配置文件中设置变量。请注意,这与硒无关。 您可以指示Selenium使用与默认配置文件不同的配置文件,如下所示:

  • 我有20个页面,每个页面有2个测试用例,每个测试用例下载一些文件。我想在运行时为每个测试用例更改下载目录。 这里是“TestBaseClass”代码,它下载一个特定文件夹中的所有文件,我必须将它们按类别分开,并将它们放入一个特定文件夹。有20个文件夹,每个文件夹有2个子文件夹'ChapterLevel'和'PracticeLevel',我必须手动放置它。 是否可以通过在运行时传递变量来更改下载目录

  • 在Splinter/Selenium的旧版本中,这被认为是不可能的。几年后,这个答案声称用JavaScript是可能的,但是这个代码对我不起作用(我可能只是没有把它翻译成Python)。这个答案关闭浏览器,然后重新打开它,我需要窗口/浏览器保持打开。 对于像FoxyProxy这样的插件,动态地更改代理非常容易,但是我认为Selenium不能与插件交互,因为它们是页面元素? 由于Splinter被设

  • 我正在使用Selenium WebDrive,在Chrome浏览器中使用C#进行自动化。我需要检查我的网页是否被阻挡在某些地区(一些ip范围)。所以我必须在我的Chrome浏览器中设置一个代理。我尝试了下面的代码。代理正在设置,但我得到一个错误。有人能帮我吗? 运行此代码时,我在Chrome浏览器中收到以下消息:我试图启用代理选项,但“更改代理设置”选项被禁用。 *无法连接到代理服务器 代理服务器