从下面的代码中,我想获取文本“ Manager”。第一和第三行包含单词“ Manager”。
<a id="HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_3_a" class="level2" treenode_a="" onclick="" target="_blank" style="" title="Manager" xpath="1">
<span id="HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_3_ico" title="" treenode_ico="" class="button ico_close" style="width:0px;height:0px;"></span>
<span id="HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_3_span" class="node_name">Manager</span>
</a>
我尝试了以下3个xpath,但都没有给出文本“ Manager”。
(xpath ="//span[@id='HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_3_span']/text())
(xpath ="//*[@id=\"HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_3_a\"]")
(xpath ="//span[@id='HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_3_span']")
也希望从下面的代码中获取单词“ Employees”。
<input id="HieararchyDropdownMenu" class="selectedHierarchyValue" type="text" readonly="" value="Employees" xpath="1">
任何帮助将不胜感激。
要获取title管理员,请尝试此。
String title=driver.findElement(By.xpath("//a[@class='level2']")).getAttribute("title");
System.out.println(title);
要获取text管理器,请尝试以下xpath。
String text=driver.findElement(By.xpath("//a[@class='level2' and contains(@title , 'Manager')]//span[@class='node_name']")).getText();
System.out.println(text);
要获取值员工,您需要使用getAttribute(“ attributename”)
String idval=driver.findElement(By.id("HieararchyDropdownMenu")).getAttribute("value");
System.out.println(idval);
如上所述,您可以按照打印的代码在IDE中运行它。
为了使您可以在DOM中找到元素,可以尝试以下操作。
CSS隔离符:
要从标题中获取文本管理器:
$$('[id="HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_3_a"]').pop().getAttribute("title");
要获取内容管理器:
$$('[id="HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_3_span"]').pop().textContent;
要获取文本雇员:
CSS隔离符:
$$('[id="HieararchyDropdownMenu"]').pop().getAttribute("value");
要提取标题 管理器和文本管理器,您需要为visibilityOfElementLocated()
引入WebDriverWait,并且可以使用以下任何一个Locator Strategies:] >
标题
管理员:使用cssSelector
:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("a.level2[id^='HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_']"))).getAttribute("title"));
使用xpath
:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//a[@class='level2' and starts-with(@id, 'HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_')]"))).getAttribute("title"));
文本
使用cssSelector
和getText()
:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("a.level2[id^='HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_'] span.node_name[id^='HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_']"))).getText());
使用xpath
和getAttribute()
:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//a[@class='level2' and starts-with(@id, 'HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_')]//span[@class='node_name' and starts-with(@id, 'HieararchyDropdownTreePCPPerformanceBusinessUnitIdHierarchyDropdownWidget_')]"))).getAttribute("innerHTML"));