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位驱动程序可以解决这个问题。