【问题标题】:Getting a hidden text from a HTML in JAVA using Selenium and WebDriver使用 Selenium 和 WebDriver 从 JAVA 中的 HTML 获取隐藏文本
【发布时间】:2016-02-03 13:16:41
【问题描述】:

我正在尝试从隐藏跨度的 html 页面中获取文本。

<span class="hide"> Nike </span>

我尝试过这样的事情:

WebElement element = driver.findElement(By.cssSelector(".product-page.clearfix > .hide > span"));
String content = (String)((JavascriptExecutor)driver).executeScript("arguments[0].innerHTML;", element);
product.setBrand(content)

我也尝试过使用“return arguments[0].innerHTML;”和“element.getText()

我知道我可以使用纯javascript,但这是一个简单的例子,我需要使用WebDriver和Java代码来处理更复杂的页面。

java.lang.ClassCastException: package.driver.DhlWebDriver cannot be cast to org.openqa.selenium.JavascriptExecutor

【问题讨论】:

标签: html selenium webdriver hidden-field


【解决方案1】:

试试这个就行了

WebElement element = driver.findElement(By.cssSelector(".product-page.clearfix > .hide > span"));
String content = (String) ((JavascriptExecutor) driver).executeScript("return arguments[0].innerHTML", element);
System.out.println(content);

我正在使用 return arguments[0].innerHTML

【讨论】:

    【解决方案2】:

    您只需要获得如下适当的属性:
    element.GetAttribute("textContent");
    应该很好用。

    我猜是 JAVA 的 getAttribute - 我在 C# 中工作。

    【讨论】:

      【解决方案3】:

      我建议使用:

      JavascriptExecutor js = (JavascriptExecutor)element;
      String content=(String) js.executeScript("return document.getElementsByClassName('hide').value;");
      System.out.println(content);
      

      【讨论】:

        猜你喜欢
        • 2021-06-15
        • 2012-10-14
        • 1970-01-01
        • 2016-06-13
        • 2012-09-02
        • 2017-12-01
        • 2017-04-16
        • 1970-01-01
        相关资源
        最近更新 更多