【问题标题】:Unable to run Selenium script on IE无法在 IE 上运行 Selenium 脚本
【发布时间】:2013-08-31 07:20:29
【问题描述】:

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

  1. here下载IEDriverServer(64位,因为我的机器是64位)
  2. 将该 (.exe) 文件放入“C://drivers”文件夹中
  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 浏览器上运行良好。请帮助我了解我在哪里做错了。

【问题讨论】:

  • 你正在使用哪个版本的 webdriver ?
  • Selenium webdriver 版本:2.33.0

标签: ruby selenium-webdriver


【解决方案1】:

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

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

【讨论】:

  • 感谢 RobbieWareham 的帮助!但我不明白其中的逻辑。我会找到的。再次感谢!
  • 您还可以在this blog post中找到此要求背后的原因
【解决方案2】:

必需的配置

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

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

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

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

【讨论】:

  • 感谢 Abhishek 的帮助,最重要的是感谢您指向 doc!赞成答案:)
【解决方案3】:
  • 下载IEDriverserver
  • 提取压缩文件夹并将它们添加到环境变量路径中。

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

  • 点击系统变量下的路径并选择编辑。
  • 粘贴驱动程序位置。

@driver = Selenium::WebDriver.for :ie

或|

@driver = Selenium::WebDriver.for :internet_explorer

【讨论】:

  • 确保在对 PATH 进行更改后重新启动机器。直到我重新启动它才对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-29
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多