2017-10-13 79 views
0

可見我已經爲我的元素下面的代碼:元素沒有與紅寶石和硒

<button type="submit" class="btn btn-primary"> 
         Search 
        </button> 

我已標識的元素是這樣的:

browser.find_element(:xpath, "//button[@class='btn btn-primary']") 

看來我有一個以上的類btn btn-primary並且元素在頁面上不可見 - 這是我得到的錯誤消息。我試過使用明確的等待,但它不起作用。我想我應該用另一種方式來定義這個元素。任何想法我應該怎麼做?謝謝。

回答

0

你可以使用一個以上的屬性來識別一個元素:

browser.find_element(:xpath, "//button[@class='btn btn-primary' and @type='submit']") 

隨着越來越多的HTML代碼,我們可以幫助你。如果這還不夠。

0

你有多個「搜索」按鈕?如果您的按鈕需要一些時間顯示,這可能會起作用。

wait = Selenium::WebDriver::Wait.new(:timeout => 10) 
search_button = wait.until { driver.find_element(:xpath => "//button[contains(text(),'Search')]") } 
search_button.click() 

(編輯:哎呀,發佈的Java)