networking驱动程序的示例不起作用

我npm安装了selenium-webdriver 。 下载IE组件,并把它放在我的path(使用Windows 8)。

打开IE浏览器并将所有安全区域设置为高,他们需要相同,但由于“受限制的网站”不允许我将其设置为高但我必须将所有其他更改为高。

然后运行\ node_modules \ selenium-webdriver \ example \ google_search.js的修改版本:

var webdriver = require('..'), By = webdriver.By, until = webdriver.until; var driver = new webdriver.Builder() .forBrowser('ie') .build(); driver.get('https://www.google.com/?gws_rd=ssl');//no redirect driver.findElement(By.name('q')).sendKeys('webdriver'); driver.findElement(By.name('btnG')).click(); driver.wait(until.titleIs('webdriver - Google Search'), 1000); driver.quit(); 

IE浏览器启动并打开谷歌,然后我得到以下错误:

NoSuchElementError:找不到使用CSSselect器的元素== * [name =“q”]

我很确定元素是在“查看源代码”给我的页面上

 <input class="lst lst-tbb sbibps" id="lst-ib" maxlength="2048" name="q" 

这可能实际上是IE的问题,因为在google.com上document.body.querySelector("*[name=\"q\"]")在IE 11中返回未定义,但这将意味着不能使用seleniumIE浏览器。

[UPDATE]

将安全级别更改回默认设置时,查询select器可以工作,但是selenium会崩溃:

WebDriverError:意外的错误启动Internet Explorer。 保护模式设置对于所有区域都不相同。 启用保护模式必须设置为所有区域的启用值(启用或禁用)。

一些人有类似的问题与IE浏览器,一个问题是由于testing通过代理设置添加为例外。

1.在Internet Explorer中,转到2.工具 – > Internet选项 – >连接 – >局域网设置3.在代理服务器上,单击高级button4.在例外情况下,检查代理服务器必须绕过的testingURL是包括在内。 如果这样删除它并执行testing用例。这解决了我的问题。 我testing了IE 7和IE 8,它对我有用。

我相信这可以帮助你? https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/3032此链接提供了一些解决scheme,让我知道如果有任何工作适合你。

[更新]您需要在互联网选项=>安全下为每个区域设置标题为“启用保护模式”的checkbox。 不是安全级别滑块。

您可能会遇到的另一个问题是打字非常合适 。 使用32位驱动程序可以解决这个问题。