如何使用通过VPN工作的selenium webdriver访问应用程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用通过VPN工作的selenium webdriver访问应用程序?相关的知识,希望对你有一定的参考价值。

例如,我有一个应用程序“www.test.com”,访问此站点我已经在firefox中安装了browsec VPN然后我可以看到应用程序内容 - 访问该站点没有vpn我收到错误“你的IP地址已经阻止..bla bla“现在我想通过Selenium Webdriver测试该网站的一些UI,但是当我尝试通过selenium webdriver访问该网站时,我得到了相同的IP阻止错误,因为vpn已经安装在firefox上,但是webdriver没有打扰VPN - 我的问题是如何通过Selenium webdriver访问这些应用程序?

答案

您必须使用WebDriver中的firefox配置文件加载扩展。扩展文件的路径通常在这里C:UsersadministratorAppDataRoamingMozillaFirefoxProfilesew0u966b.default-1507268891903extensions

WebDriver driver = null;

FirefoxProfile firefoxProfile = new FirefoxProfile();
File addonpath = new File("path of addon/extension (.xpi file)");
firefoxProfile.addExtension(addonpath);

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, profile);

driver = new FirefoxDriver(capabilities);

driver.get("http://www.helloselenium.com");

driver.quit();

http://www.helloselenium.com/2014/09/how-to-add-addon-to-firefox-instance-of.html

对于镀铬见下面的链接

http://www.abodeqa.com/2013/08/24/adding-add-on-in-firefox-and-chrome-using-webdriver/

要开始扩展,以下内容应该有效。

每个扩展程序都有一个唯一的ID,可用于在浏览器中打开扩展程序。当你安装browsec插件时,你会得到一个这样的url来指示id。 moz-extension://f1b30486-cd88-4319-bbb5-d5e387103414/congratulations.html我不确定如何以任何其他方式获取此ID,或者对于不同的安装是否相同。我在SO中提出了一个问题 - Get add-on id of extensions in Firefox

congratulations.html替换popup.html应该在浏览器中打开扩展名。然后,您可以将其视为普通网页,并使用selenium WebDriver自动执行此操作。以这种方式启动扩展后,您可以加载正在测试的应用程序的URL并继续。

enter image description here

以上是关于如何使用通过VPN工作的selenium webdriver访问应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Selenium firefox 驱动只截取浏览过的页面

如何建立公司两地的VPN连接?

Selenium 验证 div 是不是有滚动条

Chrome如何设定webdriver=undefined以避免Selenium检测?

如何用python的selenium提取页面所有资源加载的链接

零基础Selenium:Webdriver图文入门教程java篇(附相关包下载)