无法在 IE 上运行 Selenium 脚本
问题描述:
我必须在 IE 10 浏览器上运行 Selenium 测试.为了运行以下脚本,我执行了以下操作:
I've to run Selenium test on IE 10 browser. In order to run following script, I did following:
- 从此处下载了 IEDriverServer(64 位,因为我的机器是 64 位)
- 将该 (.exe) 文件放在C://drivers"文件夹中
- 在环境变量中设置路径C://drivers"
运行脚本
- Downloaded IEDriverServer(64 bit since my machine is 64 bit) from here
- Put that (.exe) file in 'C://drivers' folder
- Set path 'C://drivers' in environment variables
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 选项...",然后单击安全"选项卡.对于每个区域,标签底部都有一个标记为启用保护模式"的复选框.