Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 没有ID、名称或值的HtmlUnit按钮[Xpath不工作]_Java_Html_Button_Xpath_Htmlunit - Fatal编程技术网

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

Java 没有ID、名称或值的HtmlUnit按钮[Xpath不工作],java,html,button,xpath,htmlunit,Java,Html,Button,Xpath,Htmlunit,我知道论坛上有一些关于这个问题的答案。 但它们似乎都不能解决我的问题。我想点击一个按钮: 下面是副代码(测试登录非常容易): 你知道怎么点击这个按钮吗?谢谢 下面是我的代码的简短快照: String pageText1 = page1.asText(); System.out.println(pageText1); HtmlButton htmlElement = page1.getFirstByXPath("//*[contains(text(),'Anmelden')]"

我知道论坛上有一些关于这个问题的答案。 但它们似乎都不能解决我的问题。我想点击一个按钮:

下面是副代码(测试登录非常容易):

你知道怎么点击这个按钮吗?谢谢

下面是我的代码的简短快照:

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安梅尔登

E-MailTest@test.dePasswort123安梅尔登


您只需按文本内容匹配所需的
按钮

//button[.="Anmelden"]
或通过
类型
属性值:

//button[@type="submit"]

如果Xpath不起作用,您可能会在记录单中添加更多详细信息,说明Xpath为什么不起作用,因为还不完全清楚

您可以在您的案例中使用以下Xpath:

driver.findElement(By.xpath("//*[contains(text(),'Anmelden')]")).click();
希望它能帮助你。

试试这个

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

你想做什么?你不能给它一个id吗?你需要首先确保
page.asXml()
包含该按钮,否则请发布你的完整案例我很抱歉。。完全忘了告诉你们我想做什么:我只想点击按钮@AhmedAshour页面。asXml()包含按钮现有答案将帮助你们,否则发布你们的完整案例,以便其他人可以复制和调查这个问题。很抱歉第一篇文章。现在你有了更多的信息。感谢您的帮助Hey RNS在我的程序中添加了“HtmlUnitDriver”,并尝试了您的想法。但是我得到了一个错误:org.openqa.selenium.NoSuchElementException:无法使用//*[contains(text(),'Anmelden')]或类似的东西定位节点:无法计算xpath表达式“/*[contains(button[@type='submit')]”
driver.findElement(By.xpath("//*[contains(text(),'Anmelden')]")).click();
//form[@action='/login_check']//button[@type='submit']