我需要在selenium Java中查找web元素的帮助
以下是HTML:我需要在selenium Java中查找web元素的帮助,java,html,css,selenium,xpath,Java,Html,Css,Selenium,Xpath,以下是HTML: <input id="ember354" class="ember-view ember-text-field search" placeholder="Ask me anything!" type="text"> 使用了不同的CSS选择器,包括contains和其他函数,但也没有成功 WebElement ele = driver.findElement(By.cssSelector("ember-view.ember-text-field.search"));
<input id="ember354" class="ember-view ember-text-field search" placeholder="Ask me anything!" type="text">
使用了不同的CSS选择器,包括contains和其他函数,但也没有成功
WebElement ele = driver.findElement(By.cssSelector("ember-view.ember-text-field.search"));
我想可能通过占位符搜索是个好主意,因为这是静态的,但我不知道如何进行。您可以尝试通过占位符查找元素
driver.findElement(By.xpath("//input[@placeholder='Ask me anything!']"))
您可以尝试通过占位符查找元素
driver.findElement(By.xpath("//input[@placeholder='Ask me anything!']"))
您在使用css选择器时出错。 我想您在使用css选择器时忘了将
放在类名前面
正确的css定位器应该是.ember view.ember文本字段。search
因此,您的最终代码如下所示:
String cssLocator = ".ember-view.ember-text-field.search";
WebElement ele= driver.findElement(By.cssSelector(cssLocator));
或者,如果您想使其更具体,则可以使用:
String cssLocator=“.ember view[placeholder='Ask me anything!']”代码>同样您在使用css选择器时犯了错误。
我想您在使用css选择器时忘了将
放在类名前面
正确的css定位器应该是.ember view.ember文本字段。search
因此,您的最终代码如下所示:
String cssLocator = ".ember-view.ember-text-field.search";
WebElement ele= driver.findElement(By.cssSelector(cssLocator));
或者,如果您想使其更具体,则可以使用:
String cssLocator=“.ember view[placeholder='Ask me anything!']”代码>也两个查询都应该有效。方法返回的是什么?线程“main”org.openqa.selenium.NoSuchElementException中的异常:没有这样的元素页面会动态创建该元素吗?该元素是否在iframe中。否,完整路径是//body/div/div/input这两个查询都可以工作。方法返回的是什么?线程“main”org.openqa.selenium.NoSuchElementException中的异常:没有这样的元素页面会动态创建该元素吗?该元素是否在iframe中。否,完整路径是//body/div/div/input