【问题标题】:How do I navigate to the page where a hyperlink goes to when it doesn't have an href?当超链接没有href时,如何导航到超链接所在的页面?
【发布时间】:2017-01-25 02:12:46
【问题描述】:

我正在尝试使用网页的 xpath 抓取数据。但是,我很难导航到链接所在的页面,因为它使用 AngularJS 的 ng-click 指令。基于this link,它在单击时计算表达式。在我尝试抓取的页面中,它使用以下代码。

<a l-translate="view all" ng-click="tabsSwitching('downloads')" class="ng-isolate-scope">view all</a>

如果我的理解是正确的,上面的锚是试图调用一个javascript方法去下载标签。如果是这样,我有没有办法通过 xpath 转到该下载选项卡?或者有更好的方法吗?非常感谢。

【问题讨论】:

    标签: javascript html angularjs xpath web-scraping


    【解决方案1】:

    这是一个用于单击元素的 javascript 脚本:

    document.evaluate("//a[text()='view all']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.click();
    

    【讨论】:

      【解决方案2】:

      您可以通过获取元素并单击它来导航到该链接。如果没有提到锚标签的href值,就没有其他方法了。

      所以你可以试试这个:

      Driver.findElement(By.xpath("//a[text()='view all']")).click(); 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-05
        • 1970-01-01
        • 1970-01-01
        • 2016-09-20
        • 2020-02-29
        • 2013-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多