0

我必须在 IE 10 浏览器上运行 Selenium 测试。为了运行以下脚本,我执行了以下操作:

  1. 从这里下载 IEDriverServer(64 位,因为我的机器是 64 位)
  2. 将该(.exe)文件放在“C://驱动程序”文件夹中
  3. 在环境变量中设置路径“C://drivers”
  4. 运行脚本

    require 'selenium-webdriver'    
    driver = Selenium::WebDriver.for :ie
    
    driver.get "http://www.google.com"
    
    button = driver.find_element(:id, "gbqfba")
    puts button.text
    driver.quit
    

运行 aboe 脚本会导致以下错误:

c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/response.rb:51:in `assert_ok': Unable to find element with id == gbq
fba (Selenium::WebDriver::Error::NoSuchElementError)
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:59:in `new'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:59:in `create_response'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/default.rb:66:in `request'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:629:in `raw_execute'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:607:in `execute'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:575:in `find_element_by'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/search_context.rb:42:in `find_element'
        from ie.rb:7:in `<main>'

相同的脚本在 Chrome 和 Firefox 浏览器上运行良好。请帮助我了解我在哪里做错了。

4

3 回答 3

1

这里有点预感,但你有没有遵循这个;

在 Windows Vista 或 Windows 7 上的 IE 7 或更高版本上,您必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同。要设置保护模式设置,请从“工具”菜单中选择“Internet 选项...”,然后单击“安全”选项卡。对于每个区域,标签底部都会有一个标记为“启用保护模式”的复选框。

于 2013-08-28T12:43:46.740 回答
1
  • 下载IEDriverserver
  • 提取压缩文件夹并将它们添加到环境变量路径中。

    我的电脑 >(右键单击)属性 > 高级系统设置 > 环境变量

  • 单击系统变量下的路径,然后选择编辑。
  • 粘贴驱动程序位置。

在此处输入图像描述

@driver = Selenium::WebDriver.for :ie

或|

@driver = Selenium::WebDriver.for :internet_explorer

于 2014-04-16T05:29:51.277 回答
1

所需配置

  1. IEDriverServer 可执行文件必须下载并放置在您的 PATH 中。

  2. 在 Windows Vista 或 Windows 7 上的 IE 7 或更高版本上,您必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同。要设置保护模式设置,请从“工具”菜单中选择“Internet 选项...”,然后单击“安全”选项卡。对于每个区域,标签底部都会有一个标记为“启用保护模式”的复选框。

  3. 浏览器缩放级别必须设置为 100%,以便可以将本机鼠标事件设置为正确的坐标。

欲了解更多信息,请访问http://code.google.com/p/selenium/wiki/InternetExplorerDriver

于 2013-08-28T13:02:09.420 回答