【发布时间】:2014-04-22 18:49:23
【问题描述】:
这是 HTML:
<input id="ember354" class="ember-view ember-text-field search" placeholder="Ask me anything!" type="text">
从 body-div-div-input 到达的地方
- 由于输入标签超过 1 个,我无法按标签找到元素
- 我无法通过 id 找到元素,因为它是动态的
- 由于复合类名,我无法按类查找元素
- 我尝试了许多不同的 CSS 选择器,但都没有成功
- 我尝试了许多不同的 XPATH 行,但都没有成功
此代码的不同变体将 * 替换为 input 并使用 contains & starts-with 函数没有用:
WebElement ele = driver.findElement(By.xpath("//*[@class='ember-view ember-text-field search']"));
使用了像这样的不同 CSS 选择器,包括包含,其他功能也没有成功
WebElement ele = driver.findElement(By.cssSelector("ember-view.ember-text-field.search"));
我想也许按占位符搜索,因为那是静态的,但我不知道该怎么做。
【问题讨论】:
-
这两个查询都应该有效。返回的方法是什么?
-
线程“主”org.openqa.selenium.NoSuchElementException 中的异常:没有这样的元素
-
页面是否动态创建该元素?
-
这个元素是否在 iframe 中。
-
不,完整路径实际上是 //body/div/div/input
标签: java html css selenium xpath