【问题标题】:Java Selenium, how to get linkText (anchor) from link WebElementJava Selenium,如何从链接 WebElement 获取链接文本(锚点)
【发布时间】:2015-04-22 12:04:00
【问题描述】:

我有一个包含通过 url 找到的链接的 WebElement。我可以通过以下方式提取网址:

element.getAttribute("href");

但问题是:如何提取它的锚点,我是这样尝试的:

webElement.getAttribute("linkText");

它给了我空值。我 100% 确定这个链接有一个锚点。有什么方法可以得到锚点吗?它更复杂,但示例简化代码可能如下所示:

WebDriver driver = new FirefoxDriver();
        driver.get("http://stackoverflow.com/questions/tagged/java");
        WebElement link  = driver.findElement(By.linkText("Bicycles"));

        System.out.println(link.getAttribute("href")); // shows http://bicycles.stackexchange.com/
        System.out.println(link.getAttribute("linkText")); // shows null

【问题讨论】:

    标签: java selenium selenium-webdriver


    【解决方案1】:

    如果 getText() 返回一个空字符串,试试 innerHTML 属性:

    String text = element.getAttribute("innerHTML")
    

    【讨论】:

    • 通常,链接文本值与不必要的回车符号和空格一起使用。最好像这样修剪它们:String text = element.getAttribute("innerHTML").replaceAll("\\p{Cntrl}", "").trim();
    【解决方案2】:

    试试这个:

    System.out.println(link.getText());
    

    【讨论】:

      【解决方案3】:

      我认为“锚”是指链接的文本?如果是这样,那么您可以使用.getText(),因为<a> 是块级元素。

      link.getText();
      
      【解决方案4】:

      您可以在这里存储您的 id 文本:

      String text = driver.findElement(By.id("Text")).getText();
      System.out.println(text);
      

      【讨论】:

        猜你喜欢
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-18
        • 1970-01-01
        相关资源
        最近更新 更多