Node.js 在Selenium webdriver上,Internet Explorer驱动程序仅允许本地连接出错
我目前正在尝试使用javascript和SeleniumWebDriver设置SeleniumGrid。我有我的中心和节点设置,目前已经在Chrome和Firefox上成功运行了测试。但是,我在为Internet Explorer设置测试时遇到了一些麻烦。下面是我在Chrome/Firefox上的测试代码。这只是一个测试,可以打开谷歌并打印标题。这些上限是作为一个潜在的漏洞修复而添加的,但没有起作用Node.js 在Selenium webdriver上,Internet Explorer驱动程序仅允许本地连接出错,node.js,selenium,selenium-webdriver,internet-explorer,Node.js,Selenium,Selenium Webdriver,Internet Explorer,我目前正在尝试使用javascript和SeleniumWebDriver设置SeleniumGrid。我有我的中心和节点设置,目前已经在Chrome和Firefox上成功运行了测试。但是,我在为Internet Explorer设置测试时遇到了一些麻烦。下面是我在Chrome/Firefox上的测试代码。这只是一个测试,可以打开谷歌并打印标题。这些上限是作为一个潜在的漏洞修复而添加的,但没有起作用 const { Builder } = require("selenium-webdr
const { Builder } = require("selenium-webdriver");
const ie = require("selenium-webdriver/ie");
(async function hello() {
var caps = {
'ensureCleanSession' : 'true',
'ignoreProtectedModeSettings' : 'true',
'forceCreateProcessApi' : 'true',
'ensureCleanSession' : 'true',
'ignoreZoomSetting' : 'true',
'INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS' : 'true'
};
let driver = new Builder()
.usingServer("http://XX.XX.XX.XX:4444/wd/hub")
.withCapabilities(caps)
.forBrowser('internet explorer')
.build();
try {
await driver.get('http://www.google.com')
.then(() => driver.getTitle())
.then(title => console.log(title))
}
finally {
await driver.quit();
}
})();
我得到的错误显示在节点的命令提示符上。显示如下:
Started InternetExplorerDriver server (32-bit)
3.150.1.0
Listening on port 42242
Only local connections are allowed
我在网上找到了许多解决方案:
- 更改Internet Explorer安全设置,以便在所有级别上启用保护模式
- 将缩放设置为100%
- 将驱动程序更改为32位
- 添加TabProcGrowth注册表
似乎什么都不管用,所以任何帮助都将不胜感激 对于Selenium,只支持版本11,它需要额外的配置:1。IEDriverServer可执行文件必须下载并放置在您的路径中。2.IE 10及更高版本必须禁用“增强保护模式”。3.对于Windows 10,您还需要在显示设置中将“更改文本、应用程序和其他项目的大小”设置为100%。4.对于32位Windows安装,请导航到注册表编辑器:
HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE\U BFCACHE
,在此项内,创建一个名为iexplore.exe的DWORD值,其值为0
。更多详细信息,您可以引用此链接:。很遗憾,我仍然无法使其正常工作,因此我最终切换到Microsoft Edge。但是,我在该浏览器上遇到了另一个问题,因此我发布了一个不同的问题: