没有ID,名称或值的HtmlUnit按钮[Xpath不工作]

时间:2017-06-13 12:25:28

标签: java html button xpath htmlunit

我知道在论坛中围绕这个问题有一些答案。 但它们似乎都不适用于我的问题。我想点击按钮:

这是side-Code(非常容易测试登录的一面):

<head/>
 <body>
   <form action="/login_check" method="post" class="login-form">

          <label for="username">E-Mail</label>
                <input type="text" id="username" 
                 class="form-control" placeholder="E-Mail" name="_username" 
                 value="" required style="margin-bottom: 10px;"/>

          <label for="password">Passwort</label>
                <input type="password" id="password" 
                 class="form-control" placeholder="Passwort" name="_password"
                 required /><br>

         <button class="btn btn-default btn-block btn-form-submit"
                type="submit" data-loading-text="<i class='fa fa-spinner fa-spin'></i>">
            Anmelden
         </button>

   </form>
 </body>

Chrome F12&#34;复制Xpath&#34;

getFirstByXPath("/html/body/form/button");

如何点击按钮?感谢

以下是我的代码的简短说明:

String pageText1 = page1.asText();
System.out.println(pageText1);

HtmlButton htmlElement = page1.getFirstByXPath("//*[contains(text(),'Anmelden')]");
htmlElement.click();

HtmlButton htmlElement1 = page1.getFirstByXPath("/html/body/form/button");
htmlElement1.click();

Thread.sleep(2000);
String pageText2 = page1.asText();
System.out.println(pageText2);

page1.asText1()与page1.asText2

相同
  

E-MailTest@test.dePasswort123 Anmelden

     

E-MailTest@test.dePasswort123 Anmelden

3 个答案:

答案 0 :(得分:0)

您只需按文字内容匹配所需的button

//button[.="Anmelden"]

type属性值:

//button[@type="submit"]

如果它不起作用,您可以在故障单中添加更多详细信息,说明为什么 Xpath无法正常工作,因为它不完全清楚

答案 1 :(得分:0)

您可以在案例中使用以下xpath:

driver.findElement(By.xpath("//*[contains(text(),'Anmelden')]")).click();

希望它会对你有所帮助。

答案 2 :(得分:0)

尝试一下

//form[@action='/login_check']//button[@type='submit']