【发布时间】:2017-02-23 18:56:35
【问题描述】:
有谁知道我如何使用以下 HTML 代码单击(在 Java 中)按钮?
<div role="button" id=":t5.ss" class="c-N-K a-b a-b-va KMD69e-bU2Jkc-b DF" tabindex="0" aria-label="Join as John" style="user-select: none;">Join</div>
我在 Java 中的 sn-p 代码:
driver.get("https://www.somepage.com");
... enter new tab ...
Thread.sleep(10000);
driver.findElement(By.xpath("//div[@role='button']")).click();
我有
Exception in thread "main" org.openqa.selenium.NoSuchElementException:
no such element: Unable to locate element
{"method":"xpath","selector":"//div[@role='button']"}
我也尝试过没有成功:
driver.findElement(By.xpath("//div[@id=':t5.ss']")).click();
driver.findElement(By.xpath("//div[@aria-label='Join as John']")).click();
driver.findElement(By.cssSelector("div[id=':t5.ss']")).click();
【问题讨论】:
-
你的问题不是点击,而是找到了。
-
你试过什么?
aria-label、role,甚至是text()使用xpath,或者一些组合可能都可以正常工作。我可以给出更明确的答案,但我不确定您目前尝试了什么。 -
你有没有等待显示/可见的东西?
-
是的,我已经等了 10 秒
-
driver.findElement(By.xpath("//div[@id=':t5.ss']")).click();这些线路中的任何一条都没有等待
标签: java selenium button web driver