Rselenium 删除 div 元素

Rselenium remove div element

我想使用 RSelenium 从网页中删除 div 元素。这是我想删除 <div id="header"> 的 MWE。我能找到元素。我怎样才能让它消失?

MWE

library(RSelenium)

url <- 'https://ropensci.org'

## These two lines will pull the latest docker image of firefox and run it
system("docker pull selenium/standalone-firefox:latest")
system("docker run -d -p 4445:4444 selenium/standalone-firefox:latest")

drvr <- RSelenium::remoteDriver(port = 4445L)
drvr$open()
drvr$navigate(url)
drvr$screenshot(display = TRUE)

drvr$findElement("xpath", '//div[@id="header"]')

更多上下文

我有一个网页,当我展开折叠的复选框然后单击复选框时,div header 浮动(而不是固定在顶部)。 div header 妨碍了点击其他元素。

如果您想对活动会话执行此操作,您可以删除(实际上使其隐藏)该元素,但您必须使用 JavaScript。 RSelenium 有一个 executeScript() 方法作为驱动程序的一部分 class (docs).

像这样的事情应该做,你可能需要修补,因为我无法访问你的特定 webpage/instance:

drvr$executeScript("return document.getElementById('header').remove();")

编辑:您也可以在静态页面源 HTML 上使用正则表达式将其删除,如果您只是想将其删除以解析静态内容。但这似乎不是您的用例。让我知道您是否也对其中的示例感兴趣。