2016-06-09 52 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")