Java 如何使用webdriver获取父元素的所有子元素名称
我将webdriver与java结合使用,并尝试获取网页中所有父节点的列表。 目标是: 第一个-获取元素的所有父项名称 第二-将新列表与现有列表进行比较 以检测网页中是否添加、删除或修改了新元素 因此,我的html代码是:Java 如何使用webdriver获取父元素的所有子元素名称,java,selenium,Java,Selenium,我将webdriver与java结合使用,并尝试获取网页中所有父节点的列表。 目标是: 第一个-获取元素的所有父项名称 第二-将新列表与现有列表进行比较 以检测网页中是否添加、删除或修改了新元素 因此,我的html代码是: <div class="list"> <ul> <li> <h4> Content </h4> <ul class="list
<div class="list">
<ul>
<li>
<h4>
Content
</h4>
<ul class="list">
<li class="component-panel-item" data-cpn="summary"></li>
<li class="component-panel-item" data-cpn="file"></li>
<li class="component-panel-item" data-cpn="text"></li>
<li class="component-panel-item" data-cpn="graph"></li>
</li>
<li>
<h4>
我没有任何节点名称列表
有人能提出解决办法吗。
Thx
选择
用于下拉列表。您正在处理一个
这种方法应能更好地发挥作用:
WebElement ulList = driver.findElement(By.className("list"));
List<WebElement> values = ulList.findElements(By.tagName("li"));
int i = values.size();
System.out.print("Options = " + i);
WebElement ulList=driver.findElement(By.className(“list”);
列表值=ulList.findElements(按.tagName(“li”));
int i=values.size();
系统输出打印(“选项=”+i);
我在HTML中没有看到
标记,但我在XPath中看到了它。您希望获取哪些元素并观察更改,即
元素?是的,我想要li元素列表这是核心,是的。不过,让变更检测工作变得稍微困难一些。您可以比较原始列表和新列表的size()
,以检测添加和删除,但不能同时检测一次添加和一次删除。而且你无法检测到变化。要做到这一点,您实际上需要存储来自节点的数据并进行比较。无论如何,这个答案是正确的。
WebElement ulList = driver.findElement(By.className("list"));
List<WebElement> values = ulList.findElements(By.tagName("li"));
int i = values.size();
System.out.print("Options = " + i);