2013-06-12 29 views
0

當我運行的代碼低於一切作品期望的最後一行。我沒有收到錯誤,但代碼行不起作用。我該如何解決這個問題?Watir-Webdriver限制功能問題

require "watir-webdriver" 
test = "test" 
ia1 = "http://" + test + "mypurefleet.pureenergyservices.com/" 
e = Watir::Browser.new :chrome 
e.goto(ia1)  
e.frame(:name => "content").text_field(:name => "txtPwd").set "name" 

當我在IRB中運行代碼時,我得到以下響應。

[14.628][INFO]: waiting for pending navigations... 
[14.628][INFO]: done waiting for pending navigations 
[14.658][INFO]: waiting for pending navigations... 
[14.659][INFO]: done waiting for pending navigations 
[14.659][INFO]: sending WebDriver response: 200 { 
    "sessionId": "65f50d0fd6ce5acad36bf310db8a7ef", 
    "status": 7, 
    "value": { 
     "message": "no such element\n (Session info: chrome=27.0.1453.110)\n (Dr 
iver info: chromedriver=2.0,platform=Windows NT 6.1 SP1 x86)" 
    } 
} 
[14.667][INFO]: received WebDriver request: POST /session/65f50d0fd6ce5acad36bf3 
10db8a7ef/element { 
    "using": "xpath", 
    "value": ".//frame[@name='content']" 
} 
[14.669][INFO]: waiting for pending navigations... 
[14.670][INFO]: done waiting for pending navigations 
[14.688][INFO]: waiting for pending navigations... 
[14.688][INFO]: done waiting for pending navigations 
[14.689][INFO]: sending WebDriver response: 200 { 
    sessionId: 65f50d0fd6ce5acad36bf310db8a7ef, 
    status: 0, 
    value: { 
     ELEMENT: 0.1280214337166388:1 
    } 
} 
. 
. 
. 
. 
. 
[15.000][INFO]: waiting for pending navigations... 
[15.001][INFO]: done waiting for pending navigations 
[15.025][INFO]: waiting for pending navigations... 
[15.025][INFO]: done waiting for pending navigations 
[15.026][INFO]: sending WebDriver response: 200 { 
    "sessionId": "65f50d0fd6ce5acad36bf310db8a7ef", 
    "status": 0, 
    "value": null 
} 
[15.032][INFO]: received WebDriver request: POST /session/65f50d0fd6ce5acad36bf3 
10db8a7ef/element/0.24873712522143:1/value { 
    "value": [ "name" ] 
} 
[15.033][INFO]: waiting for pending navigations... 
[15.034][INFO]: done waiting or pending navigations 
[15.092][INFO]: waitingforpendingnavigations... 
[15.093][INFO]: done waiting for pending navigations 
[15.093][INFO]: sending WebDriver response: 200 { 
    "sessionId": "65f50d0fd6ce5acad36bf310db8a7ef", 
    "status": 0, 
    "value": null 
} 
=> nil 
irb(main):007:0> 

回答

3

做工精細這裏MAC:

MEDBEDbs-iMac:~ medbedb$ irb 
1.9.3p392 :001 > require "watir-webdriver" 
=> true 
1.9.3p392 :002 > test = "test" 
=> "test" 
1.9.3p392 :003 > ia1 = "http://" + test + "mypurefleet.pureenergyservices.com/" 
=> "http://testmypurefleet.pureenergyservices.com/" 
1.9.3p392 :004 > e = Watir::Browser.new :chrome 
=> #<Watir::Browser:0x..fbf7bb9bed066d83c url="about:blank" title="about:blank"> 
1.9.3p392 :005 > e.goto(ia1)  
=> "http://testmypurefleet.pureenergyservices.com/" 
1.9.3p392 :006 > e.frame(:name => "content").text_field(:name => "txtPwd").set "name" 
=> {} 
1.9.3p392 :007 > e.frame(:name => "content").text_fields.each { |p| puts p.html } 
<input type="text" name="txtUser" size="20" maxlength="60" title="User ID"> 
<input type="password" name="txtPwd" size="20" maxlength="40" title="Password"> 
=> [#<Watir::TextField:0x..f95bb2b33ebcdbb2e located=true selector={:element=>(webdriver element)}>, #<Watir::TextField:0x130f931c73c6f6f8 located=true selector={:element=>(webdriver element)}>] 

嘗試更新chromedriver,也試試這個:

gem update --system 
gem update 
+0

我使用Ruby 2.0.0,你知道這可能是導致問題? – Rommel

+0

看起來這是一個特定於chromedriver的問題,試圖在win中使用firefox正常工作,但是在chrome中返回異常。您可能想補充一個bug ..(Win7; Ruby 1.9.3;同樣的錯誤)。嘗試「e = Watir :: Browser.new:ff」作爲臨時解決方法。 –