2014-04-08 92 views
4

我想點擊下面的按鈕,但是當我運行腳本按鈕沒有點擊仍然腳本傳遞。無法點擊Safari中使用Selenium WebDriver按鈕

這裏是HTML剪斷

<input type="button" value="Authorize" class="standard" id="oauth2button" style="margin-left: 60px;"> 

這裏是Ruby代碼,我用來進行點擊操作

authorize_button = $driver.find_element(:id, 'oauth2button') 
authorize_button.click 

如果我使用authorize_button.displayed?返回true。 我使用webdriver的硒和Safari瀏覽器版本6.1.1是

+0

爲什麼你覺得*按鈕沒有點擊*?任何錯誤或你發現了什麼? –

+0

需要更多的代碼來確定在發送'click()'調用之前發生了什麼。 但是在大多數情況下,我發現在點擊之前插入一個小的睡眠通常會修復一些事情。嘗試一下,讓我知道它是否有所作爲。 – Vish

+0

其實我想單擊那個按鈕,它會打開新窗口,然後在新窗口中執行不同的操作。但是在點擊上面的按鈕窗口後沒有打開,所以沒有找到來自新窗口的所有元素。因此,我點擊上面的按鈕後,我評論所有的代碼,並檢查腳本通過,但窗口未打開我也點擊後,睡眠20。 – testing

回答

1

這可能不是你要找的答案,但有一兩件事,當我遇到那樣的問題是使用JavaScript來執行特定的動作我已經做了而不是Selenium,它每次都爲我工作。你可以嘗試這樣的:

$driver.execute_script("document.getElementById('oauth2button').click();") 
+0

我也用JavaScript來點擊按鈕,以下面的方式$ driver.execute_script(「arguments [0] .click ();「,authorize_button)。它不適合我。 – testing

相關問題