【问题标题】:HtmlUnit: how to extract elements from<svg> <g> tag pageHtmlUnit:如何从 <svg> <g> 标签页中提取元素
【发布时间】:2016-07-19 18:46:11
【问题描述】:

我正在尝试自动化我的日常工作。检查元素时,我可以看到网络显示了很多元素,但是当我单击查看页面源时,我只看到乱码。我想提取页面元素可以有人帮助我。我的页面示例如下;

注意:下页有svg和g标签

查看页面来源详情:

<body><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="75px" height="75px" viewbox="0 0 75 75" preserveaspectratio="none" class="startLoaderImg" style="position:absolute;top:0;left:0;right:0;bottom:0;margin:auto"><g><image width="75" height="75" xlink:href="data:image/gif;base64,
R0lGODlhSwBLAKUAAIyOjMTKzKyurOTm5JyenLy+vNza3PT29JSWlMzS1LS2tKSmpOzu7MTGxJSS
........  "></image></g><image style="position:absolute;top:0;left:0;right:0;bottom:0;margin:auto" class="startLoaderImg" id="startLoaderImg"></svg></body>

我的 HtmlUnit java 代码找不到目标元素。谁能帮帮我?

【问题讨论】:

    标签: java htmlunit htmlunit-driver


    【解决方案1】:

    您必须使用xpath 来获取相应标签的值。

    例如:

    /body/g
    

    您还必须了解自动化工具,例如Selenium Web Driver

    WebDriver driver = new FirefoxDriver();
    WebElement userName =
    driver.findElement(By.xpath("html/body/div/form/input"));
    

    【讨论】:

    • Rudziankou 感谢您的回答。我正在使用 HtmlUnit,当我尝试通过其 Xpath 获取元素时,出现以下错误 java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.gargoylesoftware.htmlunit.html.HtmlElement
    猜你喜欢
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    相关资源
    最近更新 更多