无法在 IE 上运行 Selenium 脚本

无法在 IE 上运行 Selenium 脚本

问题描述:

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

I've to run Selenium test on IE 10 browser. In order to run following script, I did following:

  1. 此处下载了 IEDriverServer(64 位,因为我的机器是 64 位)
  2. 将该 (.exe) 文件放在C://drivers"文件夹中
  3. 在环境变量中设置路径C://drivers"
  4. 运行脚本

  1. Downloaded IEDriverServer(64 bit since my machine is 64 bit) from here
  2. Put that (.exe) file in 'C://drivers' folder
  3. Set path 'C://drivers' in environment variables
  4. Run script

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 脚本导致以下错误:

Running aboe script result into following error:

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 浏览器上运行良好.请帮助我了解我哪里做错了.

Same script runs fine with Chrome and Firefox browser. Please help me to understand where I'm doing wrong.

这里有一点预感,但你是否遵循了这个;

Bit of hunch here, but have you followed this;

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