Java 如何通过标记名检索多个标记中的元素以进行selenium自动化测试

Java 如何通过标记名检索多个标记中的元素以进行selenium自动化测试,java,html,selenium,selenium-webdriver,dom,Java,Html,Selenium,Selenium Webdriver,Dom,我正在使用org.openqa.selenium.By创建一个自动化的selenium测试,以获取加载的网页上的某些元素,但在搜索某些元素时,我什么也没有得到。这可能是因为我搜索的元素在几个HTML标记中?我将此代码放在浏览器控制台中,只是想看看是否可以看到列出的我要查找的标记,但我只得到顶级元素标记的列表 var all = document.getElementsByTagName("*"); for (var i=0, max=all.length; i < max; i++) {

我正在使用org.openqa.selenium.By创建一个自动化的selenium测试,以获取加载的网页上的某些元素,但在搜索某些元素时,我什么也没有得到。这可能是因为我搜索的元素在几个HTML标记中?我将此代码放在浏览器控制台中,只是想看看是否可以看到列出的我要查找的标记,但我只得到顶级元素标记的列表

var all = document.getElementsByTagName("*");

for (var i=0, max=all.length; i < max; i++) {
     console.log(all.item(i))
}
var all=document.getElementsByTagName(“*”);
对于(变量i=0,max=all.length;i

有人知道使用selenium获取元素的更好方法吗?因为单靠.tagname(标记名)不起作用

请查找下面的示例以从HTML获取标记

     System.setProperty("webdriver.chrome.driver", "C:\\New folder\\chromedriver.exe");

     WebDriver driver = new ChromeDriver();
     driver.get("https://stackoverflow.com/questions/tagged/selenium");
     List<WebElement> stack = driver.findElements(By.xpath("//a"));
     for (WebElement element:stack) {
         System.out.println("Name of the attribute is:- " + element.getAttribute("class"));
     }
     driver.close();
System.setProperty(“webdriver.chrome.driver”,“C:\\New folder\\chromedriver.exe”);
WebDriver驱动程序=新的ChromeDriver();
驱动程序。获取(“https://stackoverflow.com/questions/tagged/selenium");
List stack=driver.findElements(By.xpath(“//a”);
for(WebElement:stack){
System.out.println(“属性的名称是:-”+元素.getAttribute(“类”);
}
driver.close();

您可以发布您试图自动执行的页面的HTML吗?如果不引用页面上的HTML,很难判断代码的错误。有不同的定位策略,比如类名、xpath和css选择器,但是如果没有一些HTML可供参考,我们就不能提出任何建议。