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
答案 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();