r-Rselenium:跳过错误并继续运行.怎么能绕过它



我试图抓取一些网站,但有时有些网站不包含代码用findElement查找的按钮。因此,当代码找不到我想要的东西时,它会给我以下错误:

Selenium message:no such element: Unable to locate element: {"method":"link text","selector":"see more"}
(Session info: chrome=104.0.5112.79)
For documentation on this error, please visit: https://www.seleniumhq.org/exceptions/no_such_element.html
Build info: version: '4.0.0-alpha-2', revision: 'f148142cf8', time: '2019-07-01T21:30:10'
System info: host: '192.168.1.12', ip: 'fe80:0:0:0:4c4:faba:fe32:b5f4%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.5', java.version: '1.8.0_341'
Driver info: driver.version: unknown

我尝试使用findElements,但在那之后,它应该单击Element,所以该函数不可能。

有什么变通办法吗?

使用findElements((可以在列表中访问(列表使用R中的双括号,即[[1]](来点击找到的元素:

seedesc <- RemDr$findElements(using = "link text", value = "see more")
seedesc[[1]]$clickElement()
#to click the second found element if there is one
seedesc[[2]]$clickElement() #etc...

当元素不在页面上时,findElements((创建的seedesc将是一个列表长度0:

element_exists <- isTRUE(length(seedesc)>0)

最新更新