Xpath昨天完美无缺,但今天它无法正常工作

时间:2017-04-25 07:54:05

标签: java xpath selenium-webdriver

Xpath昨天工作正常,我想点击一个按钮。但它今天不起作用。尝试运行脚本时,NoSuchElementException即将到来。下面我添加了代码和错误。

HTML代码:

“添加客户”的源代码'按钮

<section class="content-header">
<div class="row">
<div class="col-xs-6">
<div class="col-xs-6 text-right">

<a class="btn btn-danger hidden checkdelbtn" data-content="Are you sure to continue?" data-title="Confirm" data-cancel="Cancel" data-confirm="Delete" data-form="userform" href="">

<input class="btn btn-primary" type="button" onclick="window.location.href='http://lab-1.sketchdemos.com/musicshop/stores/musicshop/admin/add-customer.html'" value="Add Customer"/>

</div>
</div>
</section>

尝试过的代码:

//Clicking on 'Add Customer' button

driver.findElement(By.xpath(".//*[@id='userform']/section[1]/div/div[2]/input")).click();
Thread.sleep(5000);

错误:

执行上述代码后,出现此错误。

  

线程中的异常&#34; main&#34; org.openqa.selenium.NoSuchElementException:   无法找到元素:   {&#34;方法&#34;:&#34;的xpath&#34;&#34;选择器&#34;:&#34; .//* [@ ID =&#39;用户窗体&#39;] /部分[1] / DIV / DIV [2] /输入&#34;}

     

命令持续时间或超时:32毫秒   有关此错误的文档,请访问:http://seleniumhq.org/exceptions/no_such_element.html   构建信息:版本:&#39; 2.46.0&#39;,版本:&#39; 87c69e2&#39;,enter code here时间:&#39; 2015-06-04 16:17:10&#39 ;   系统信息:主持人:&#39; SKETCH_QA-02&#39;,ip:&#39; 10.70.1.32&#39;,os.name:&#39; Windows 8.1&#39;,os.arch:& #39; amd64&#39;,os.version:&#39; 6.3&#39;,java.version:   &#39; 1.8.0_20&#39;   驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver

1 个答案:

答案 0 :(得分:2)

使用code

xpath locator下面尝试此操作
driver.findElement(By.xpath("//input[@value='Add Customer']")).click();

xpath的说明: - 使用value标记的<input>属性。

注意:而不是absolute xpath,请使用relative xpath

  

OR

使用code

cssSelector下面尝试此操作
driver.findElement(By.cssSelector("input[value='Add Customer']")).click();