RSelenium:查找与Xpath的链接

时间:2015-10-28 17:00:44

标签: r selenium xpath rselenium

我想在RSeleniumXpath的页面中找到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

我的语法错误了吗?

1 个答案:

答案 0 :(得分:10)

表达式中存在语法错误,错过了结束In [175]: df.groupby(level=0)['col2'].apply(lambda x: ','.join(x)) Out[175]: col1 a ab,cd,ef b kj,jk,l Name: col2, dtype: object

]

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

请注意,您还可以通过链接文字找到链接

href