当前位置: 首页 > 知识库问答 >
问题:

如何找到网站标题部分的所有项目?

公西光华
2023-03-14

我有这个代码:

<ul class="sidebar-menu left">
    <li index="1">Apple</li>
    <li index="2">Orange</li>
    <li index="3">Banana</li>
</ul>

如何将此列表(所有li)添加到列表

共有3个答案

上官恩
2023-03-14

如果这个班是独一无二的

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();
    }
郑安晏
2023-03-14

可以使用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());
    }
黄正浩
2023-03-14

要打印所有标题部分文本,您需要诱导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