我有这个代码:
<ul class="sidebar-menu left">
<li index="1">Apple</li>
<li index="2">Orange</li>
<li index="3">Banana</li>
</ul>
如何将此列表(所有li)添加到列表
如果这个班是独一无二的
sidebar-menu left
然后你可以构造这个
>
ul.sidebar-menu.left li
xpath
//ul[contains(@class,'sidebar-menu left')]//child::li[@index]
child只是规范,您也可以删除它
//ul[contains(@class,'sidebar-menu left')]//li[@index]
它们应该代表HTMLDOM中的多个节点,在本例中是3。
要添加到web元素列表中,只需使用findElements
(复数)
List<WebElement> elems = driver.findElements(By.xpath("//ul[contains(@class,'sidebar-menu left')]//child::li[@index]"));
如果您想检索Web元素文本,
for (WebElement e : elems){
e.getText();
}
可以使用findElements
方法。
ArrayList<String> fruitNames = new ArrayList<String>();
List<WebElement> fruits = driver
.findElements(By.xpath("//ul[contains(@class,'sidebar-menu left')]//child::li[@index]"));
for (WebElement element : fruits) {
fruitNames.add(element.getText());
}
要打印所有标题部分文本,您需要诱导WebDriver等待visibilityOfAllElementsLocatedBy()
,您可以使用Java8stream()
和map()
,并且可以使用以下定位器策略:
>
使用cssSelector和getText()
:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("ul.sidebar-menu.left li"))).stream().map(element->element.getText()).collect(Collectors.toList()));
使用xpath和getAt0016("innerHTML")
:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//ul[@class='sidebar-menu left']//li"))).stream().map(element->element.getAttribute("innerHTML")).collect(Collectors.toList()));
我试图找到断开的链接通过使用 但是问题是它只找到存在于主页上的链接。有没有办法找到网页上所有可用链接的目录?
问题内容: 我想尝试弄清楚如何获得 即使按任何顺序排列,我也听说过PHP Simple HTML DOM解析器,但是我真的不想使用它。除了使用PHP简单HTML DOM解析器之外,是否有解决方案的可能。 如果它是无效的HTML,将无法执行此操作吗? cURL可以使用preg_match做类似的事情吗? Facebook做这样的事情,但可以通过以下方式正确使用: 我想要这样的东西,以便有人发布链接时
使用JSoup,我一直试图选择所有h2节标题节点(进入列表): 在这个维基百科页面中: https://en.m.wikipedia.org/wiki/banana_cake html.client-js body.mediawiki.ltr.sitedir-ltr.stable.skin-minerva.action-view.animations div#mw-mf-viewport div#
问题内容: 我正在使用MySQL Connector / .NET,它的所有提供程序都带有FormsAuthentication。 我需要所有用户退出。该方法无法正常工作。 如何注销所有站点用户? 问题答案: 正如乔建议的那样,您可以编写一个HttpModule来使给定DateTime之前存在的任何cookie无效。如果将其放在配置文件中,则可以在必要时添加/删除它。例如, Web.config:
本文向大家介绍WordPress 获取网站标题,包括了WordPress 获取网站标题的使用技巧和注意事项,需要的朋友参考一下 示例 要么 输出结果 基于这些样本设置
问题内容: 我想知道当用户单击注销时是否可以删除网站的所有cookie,因为我将其用作删除cookie的功能,但无法正常工作: 有没有一种方法可以删除PHP中某个域的Cookie? 问题答案: PHP setcookie() 从该页面获取的信息将取消设置您域的所有cookie: http://www.php.net/manual/zh/function.setcookie.php#73484