【问题标题】:How to get value between ::before & ::after?如何在 ::before 和 ::after 之间获得价值?
【发布时间】:2021-05-21 07:13:43
【问题描述】:

我想从 selenium 中 ::before ::after 之间的文本中获取值。我想通过xpath是不可能的,我可以使用什么JSexecutor代码?

我想获得的价值:

【问题讨论】:

    标签: java selenium-webdriver xpath css-selectors webdriverwait


    【解决方案1】:

    ::before::aftercss 并且不是可打印的文本。因此,要打印文本 Widget,您可以使用以下任一 Locator Strategies

    • 使用cssSelector

      System.out.println(wd.findElement(By.cssSelector("div.linkbox.margin-bottom-20 > h1.heading")).getText());
      
    • 使用xpath

      System.out.println(wd.findElement(By.xpath("//div[@class='linkbox margin-bottom-20']/h1[@class='heading']")).getText());
      

    理想情况下,要提取文本Some Text,因为元素是动态元素,您必须为visibilityOfElementLocated() 诱导WebDriverWait,您可以使用以下任一Locator Strategies

    • 使用cssSelector

      System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.linkbox.margin-bottom-20 > h1.heading"))).getText());
      
    • 使用xpath

      System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='linkbox margin-bottom-20']/h1[@class='heading']"))).getText());
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-30
      • 2022-01-05
      • 1970-01-01
      • 2023-01-22
      • 1970-01-01
      • 2013-01-28
      • 2012-12-21
      • 1970-01-01
      相关资源
      最近更新 更多