【问题标题】:RSelenium: Find link with XpathRSelenium:使用 Xpath 查找链接
【发布时间】:2016-01-28 14:02:46
【问题描述】:

我想在带有RSelenium 和Xpath 的页面中找到所有指向PDF 文件的链接。

请考虑

require(RSelenium)
RSelenium::checkForServer()

RSelenium::startServer()

remDr <- remoteDriver()
remDr$open()

remDr$navigate("https://cran.r-project.org/manuals.html")

页面中有多个指向PDF文件的链接,例如

<a href="doc/manuals/r-release/R-intro.pdf">PDF</a>

但我的第一次尝试

remDr$findElement(using = "xpath", "//a[contains(@href,'.pdf')/@href")

产生以下错误

Error:   Summary: InvalidSelector
     Detail: Argument was an invalid selector (e.g. XPath/CSS).
     class: org.openqa.selenium.InvalidSelectorException

我的语法错了吗?

【问题讨论】:

    标签: r selenium xpath rselenium


    【解决方案1】:

    您的表达式中存在语法错误,缺少结束 ]:

    //a[contains(@href,'.pdf')]/@href
                          HERE^
    

    但是,即使您修复它,您也会收到一个错误 - 这次是另一个错误。这是因为 selenium 中的 XPath 表达式必须指向 Web 元素而不是元素属性。也就是说,使用//a[contains(@href,'.pdf')]查找元素,然后使用get_attribute方法获取href属性值。


    请注意,您也可以通过链接文本找到链接:

    remDr$findElement(using = "link text", "PDF")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      相关资源
      最近更新 更多