我目前正在使用 - firefox 13 - selenium-server-standalone-2.23.1.jar - selenium-client(1.2.18) - rspec 1.2.8
即使页面已满载
,Selenium也会停在此处08:49:43.888 INFO - 命令请求:waitForPageToLoad [300000,] on session 2718493e6d4640eea76d6cb3ab1a6fc3
require 'rubygems'
require "selenium/client"
require "selenium/rspec/spec_helper"
describe "Google Search" do
attr_reader :selenium_driver
alias :page :selenium_driver
before(:all) do
@selenium_driver = Selenium::Client::Driver.new \
:host => "localhost",
:port => 4444,
:browser => "*firefox",
:url => "http://www.google.com",
:timeout_in_second => 10
end
before(:each) do
selenium_driver.start_new_browser_session
end
# The system capture need to happen BEFORE closing the Selenium session
append_after(:each) do
@selenium_driver.close_current_browser_session
end
it "can find Selenium" do
page.open "/"
page.title.should eql("Google")
page.type "q", "Selenium seleniumhq"
page.click "btnG", :wait_for => :page
page.value("q").should eql("Selenium seleniumhq")
page.text?("seleniumhq.org").should be_true
page.title.should eql("Selenium seleniumhq - Google Search")
page.text?("seleniumhq.org").should be_true
page.element?("link=Cached").should be_true
end
end
答案 0 :(得分:0)
我想知道谷歌页面是否使用了令人困惑的页面加载事件的AJAX。
当我去http://google.com时,我注意到提交搜索时只将#q = selenium添加到网址。
这可能会使硒混淆。也许不是等待页面加载,你可以等待页面元素
一些搜索元素xpath(例如)/ html / body / div [1] / div [3] / div [3] / div [6] / div [2] / div [3] / div / div [ 2] / div [2] / div / div / ol / div [2] / li [1] / div(丑陋我知道)