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 上使用正则表达式将其删除,如果您只是想将其删除以解析静态内容。但这似乎不是您的用例。让我知道您是否也对其中的示例感兴趣。
我想使用 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 上使用正则表达式将其删除,如果您只是想将其删除以解析静态内容。但这似乎不是您的用例。让我知道您是否也对其中的示例感兴趣。