【发布时间】:2018-11-04 07:18:03
【问题描述】:
我是 selenium 的新手,并试图为下面的 html 代码找到正确的 xpath 或 CSS,在花了这么多时间和无数次试验之后,我无法点击这些元素,我需要一些帮助。我似乎在这里缺少一些非常基本的东西。我得到 NoSuchElementException。
第一个 HTML:
<input class="form-control" id="name" name="name" value="" type="text">
我尝试了以下代码:
driver.findElement(By.xpath("//*[@id="name"]")).sendKeys("Something");
driver.findElement(By.id("name")).sendKeys("Something");
driver.findElement(By.cssSelector("input[value='']")).sendKeys("Something");
第二个 HTML:
<a href="#fragment2" data-toggle="tab" aria-expanded="true">
<span>Module Permissions</span>
</a>
我尝试了以下代码:
driver.findElement(By.xpath("//span[contains(text(), 'Module Permissions')]")).click();
driver.findElement(By.linkText("Module Permissions")).click();
我的测试环境:
- 谷歌浏览器版本 66.0.3359.181
- Selenium WebDriver 版本:3.12
非常感谢任何帮助。
【问题讨论】:
-
你在 iframe 中吗?
-
搜索是否有`标签:
frame或iframe`在整个页面的HTML?如果是这样,您需要先切换到元素所在的框架。 -
是的,我实际上是在 iframe 中。一旦我切换到 iframe,我就可以点击该元素。感谢您的建议。
标签: java selenium selenium-webdriver xpath css-selectors