RSelenium - 使用 xpath 选择父元素

标签 r xpath rselenium

我正在尝试使用 RSelenium 通过按钮捕获网页上可用的 csv。相关html为:

<a ng-click='download()'><i class='csv-download'></i> Download</a>

我可以通过它的类选择 i 元素:

remDr$findElement(using = 'css selector', ".csv-download")

我认为要自动执行按钮推送,我需要选择父 a 元素,但不知道如何执行此操作。 xpath 似乎是最好的方法:

remDr$findElement(using = 'xpath', "//i[@class='csv-download']/parent::*")
Error:   Summary: NoSuchElement
     Detail: An element could not be located on the page using the given search parameters.
     class: org.openqa.selenium.NoSuchElementException

xpath 公式一定有问题。感谢您的帮助。

最佳答案

您可以继续使用 CSS 选择器并依赖 ng-click 属性:

remDr$findElement(using = 'css selector', "a[ng-click*=download]")

其中 *= 表示“包含”。


但是,要回答您所问的问题,请使用..:

remDr$findElement(using = 'xpath', "//i[@class='csv-download']/..")

关于RSelenium - 使用 xpath 选择父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36064764/

相关文章:

r - R中ntile和cut之间的区别,然后分位数()函数

python - 是否可以获取用于评估 xpath 结果的所有上下文节点?

asp.net - 使用 JavaScript 进行 XML 解析

r - 根据模式按组分配唯一 ID

r - 出现错误时如何停止并行循环

java - 无法定位元素 - 使用 selenium webdriver 在不同区域设置中自动化网站

docker - 带有 RSDriver 的 RSelenium。错误 : httr output: Failed to connect to localhost port 4445: Connection refused

javascript - 无法在r中使用phantomjs抓取多个页面

r - 尝试使用 RSelenium 检测并填充表单

删除嵌套列表中的重复项