如何在Rselenium中找到合适的节点在动态网页上点击加载更多按钮



我想通过Rselenium点击以下网页上的[更多食谱](德语:[mehr Rezepte](按钮:https://migusto.migros.ch/de/rezept-uebersicht/mexiko

我尝试了以下方法:

rD<-rsDriver(browser = 'chrome', port = 427L, chromever = '87.0.4280.88')
remDr<-rD$client
remDr$navigate('https://migusto.migros.ch/de/rezept-uebersicht/mexiko')
load_btn <- remDr$findElement(using = 'class', value = '.icon-right')
load_btn$clickElement

有人知道如何在findElement((中找到正确的输入以通过Rsenium点击按钮吗?

非常感谢你和BRDavid

Rselenium能够在html页面中找到不同类型的元素。您可以使用其中一个元素。
findElement( using = c("xpath", "css selector", "id", "name", "tag name", 
"class name", "link text", "partial link text", "tag name", "xpath"), 
value ="the code that you find in the html page")$clickElement()

class name:返回类名中包含搜索值的元素;不允许使用复合类名。

css selector:返回与CSS选择器匹配的元素。

id:返回ID属性与搜索值匹配的元素。

name:返回NAME属性与搜索值匹配的元素。

link text:返回可见文本与搜索值匹配的锚元素。

partial link text:返回其可见文本与搜索值。

tag name:返回标记名称与搜索值匹配的元素。

xpath:返回与XPath表达式匹配的元素。

Belwow一个小例子:

library(RSelenium)
rD<-rsDriver(browser = 'chrome', port = 428L, chromever = '87.0.4280.88')
remDr<-rD$client
remDr$navigate('https://migusto.migros.ch/de/rezept-uebersicht/mexiko')
remDr$findElement(using = 'xpath', value = '//*[@id="top"]/div[3]/main/div[1]/div/div[2]/form/a')$clickElement()

如果你想在这里加深争论,请参阅官方文件。

最新更新