2016-06-09 85 views
-2

你好我學習硒,我遇到了一個問題。我正在做所有的事情使用xpath按鈕,但與這一個這不起作用,我不知道爲什麼。Selenium無法找到有效的XPath按鈕點擊

這是怎麼看起來按鈕,我想點擊(我想點擊訂票按鈕)

<div id="bookingOption" class="row top5" style="display: block;"> 
       <div class="col-md-6"> 
        <input name="bookButton" class="btn btn-primary" type="button" value="Order tickets"> 
       </div> 
      </div> 

我的Java代碼,點擊此按鈕

我使用XPath //*[@id="bookingOption"]/div/input

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[ before @id='bookingOption']/div/input"))); 
    driver.findElement(By.xpath("//*[ before @id='bookingOption']/div/input")).click(); 

這是網站上我正在練習它可能會有所幫助。 http://ticketmonster-jdf.rhcloud.com/

我會非常感謝您的幫助。

+0

它現在如何失敗?什麼錯誤?另外,請在xpath表達式的開始處注意多餘的空格。 – alecxe

+1

在你的代碼的第二行有一個'[''在'@ id ='之前];加上它不會編譯,因爲雙引號錯誤,請粘貼實際的代碼 –

+0

這沒有給出任何錯誤。只是我的硒代碼點擊一切,然後它來到這個按鈕,並沒有發生。它沒有點擊它,並沒有給出錯誤。 – Kox

回答

0

嘗試: //input[@value='Order tickets']

0

的xpath之前取出( 「// */DIV /輸入[@ ID = 'bookingOption' 之前]」) 用於限定的xpath正確的形式是

xpath("//*[@id='bookingOption']/div/input")