2017-10-13 2 views
0

Ich habe den folgenden Code für mein Element:Element nicht sichtbar mit Rubin und Selen

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

Ich habe das Element wie folgt identifiziert:

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

es scheint, dass ich mehr als eine Klasse btn btn-primary und das Element ist nicht auf der Seite sichtbar - das ist die Fehlermeldung, die ich bekomme. Ich habe versucht, eine explizite Wartezeit zu verwenden, aber es funktioniert nicht. Ich denke, ich sollte dieses Element anders definieren. Irgendwelche Ideen wie ich das machen sollte? Vielen Dank.

Antwort

0

Sie könnten mehr als eine Eigenschaft verwenden, um ein Element zu identifizieren:

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

Mit HTML-Code, könnten wir Ihnen mehr helfen. Wenn das nicht genug ist.

0

Haben Sie mehr als einen "Suchen" -Button? Dies kann funktionieren, wenn Ihr Knopf einen Moment braucht, um zu erscheinen.

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

(Edit: oops, geschrieben Java)

Verwandte Themen