java - 在 Java 中查找网页上文本框的总数 - Selenium

标签 java selenium xpath

我正在寻求一些帮助,因为我刚刚进入使用 Selenium 和 Java 绑定(bind)的 Web 自动化。我正在尝试查找网页上文本框的总数,我有用于检查 @type=text 的代码。但是,当我尝试通过以下方式查找文本框时,代码如下:

"//input[@type='text'[@class='dijitReset dijitInputInner']" 并且失败。完整代码如下。

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//Launch browser
driver.get("http://localhost/2010A15/?p=register");

//Create Web element list

java.util.List<WebElement> textboxes = driver.findElements(By.xpath("dijitReset dijitInputInner']"));

System.out.println(textboxes.size());

for(int i=1; i<=textboxes.size(); i=i+1);
{
    System.out.println(textboxes.size());
}

driver.close();  





}

}

错误消息:

Exception in thread "main" org.openqa.selenium.InvalidSelectorException: The given selector dijitReset dijitInputInner'] is either invalid or does not result in a WebElement. The following error occurred: InvalidSelectorError: Unable to locate an element with the xpath expression dijitReset dijitInputInner'] because of the following error: SyntaxError: The expression is not a legal expression.

我认为该错误告诉我 dijitReset dijitInputInner 无效,这就是它不起作用的原因,但是,我不确定如何解决此问题。有什么帮助吗?由于inspect元素中的项目的类是:dijitReset dijitInputInner

最佳答案

如果您只想计算元素(文本框)的数量,则可以使用 size() 避免循环每个 Web 元素

int boxes = driver.findElements(By.xpath(".//*[@class='dijitReset dijitInputInner']")).size();

关于java - 在 Java 中查找网页上文本框的总数 - Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34044477/

相关文章:

python - 是否有可能知道 Firefox 使用 Selenium 下载了什么文件

python - 使用 Python 爬取网站

python - Scrapy - xml 爬网中的 xpath 问题

javascript - 在只有 xPath、anchorOffset 和 focusOffset 的 html 页面中突出显示文本

java - 如何延迟从 gwt 调用数据库?

Java并发-避免并发修改具有相同ID的对象的数据结构

Selenium - 单击按钮不会被记录

java - 如何将一个目录中的xml文件复制到另一个目录

java - 如何实现 Multi-Tenancy Spring Boot 应用程序(每个用户都有自己的数据库)

java - XSD - 如何定义两个元素之间的关系