问题标签 [rselenium]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
361 浏览

r - 如果循环失败则运行源代码 (RSelenium)

我写了一个循环来检查一堆链接并截取屏幕截图。我经常需要成千上万的做这些。我创建的循环适用于大约 500 个链接,然后我的浏览器关闭,我收到以下错误:

有没有办法防止这种情况?

如果没有,如果发生这种情况,我怎样才能让 R 运行源代码 OpenBrowser.R?

这是脚本:

0 投票
1 回答
327 浏览

r - 使用 RSelenium 设置只读字段的值

我正在使用 R 和 RSelenium 从网站获取一些数据,为此我必须先填写表格。我必须在表单中定义的元素之一是日期。

包含日期的框具有以下 html 代码:

我想将该日期设置为 2016 年 1 月 1 日或 2016 年 1 月 1 日,以使用所需的格式。

到达元素后

我已经尝试过这两种方法,但都没有奏效(因为我认为该项目是“只读的”):

正如这里所建议的,我试过了

我的想法不多了,任何提示都非常感谢!

编辑添加

我找到(并发布)了一个答案。不过,我想知道是否有人知道更好的方法(httr例如,使用 )。

0 投票
1 回答
480 浏览

r - RSelenium 无法访问 DOM

我在Stockpair 网站上使用 Selenium

我得到错误

我研究了如果 DOM 通过异步过程更改会发生这种情况。但是,我测试了 Selenium 运行 chrome.exe 可见并且 DOM 没有改变,加载页面后元素仍然存在。

会不会有其他原因?

0 投票
1 回答
920 浏览

r - 使用 RSelenium 从网页表中检索数据

我正在尝试使用 RSelenium 从这个国家河流流量档案(英国)网站: http : //nrfa.ceh.ac.uk/data/station/info/69032 中抓取年度最大流量数据。我找不到协商下拉菜单的方法。目前我可以使用以下方法半自动化该过程:

这有点小技巧,我不得不点击页面上的几个按钮,而不是让 RSelenium 来做。关于 RSelenium 如何从下拉菜单中选择“峰值流量数据”选项卡和“最大年度 (AMAX) 数据”选项有什么建议吗?

0 投票
1 回答
1969 浏览

r - 硒| 获取网页的文本

有没有办法从 RSelenium 中的 remoteDriver 获取纯文本?Somethink like: remDr$getPlainText()as 等价于remDr$getPageSource().

解决方法:

我设法将 phantomJS 的纯文本保存到文件中,如下所示:

但后来我必须在后记中阅读文件......

我的解决方法类似于https://cran.r-project.org/web/packages/RSelenium/vignettes/RSelenium-headless.html#id3b

0 投票
2 回答
484 浏览

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

我正在尝试使用由 RSelenium 控制的 phantomjs从https://www.washoecounty.us/assessor/cama/?command=assessment_data&parid=07101001中的 javascript 生成多个宗地的历史财产价值的县评估员数据。url 中的“paraid”是 9 位数的包裹号码。我有一个数据框,其中包含我感兴趣的包裹号码列表(总共几百个),但一直试图使代码在其中的一小部分上工作:

我需要为每个包裹在页面上生成的表格中抓取数据并保留它。我选择将页面写入文件“output.htm”,然后解析该文件。我的代码如下:

这对于循环的一两次迭代非常有效,但它突然停止保存由 javascript 生成的数据并产生错误:

这是由于解析器没有在输出文件中找到表,因为它没有被保留。我不确定我选择的实现是否存在问题,或者是否存在导致问题的特定站点的某些特质。我不熟悉 JavaScript,所以使用的代码片段取自我找到的示例。感谢您提供任何帮助。

下面的答案完美无缺。我还将 Sys.sleep(5) 移到 $navigate 之后,以允许页面有时间加载 javascript。循环现在正在执行完成。

0 投票
1 回答
253 浏览

selenium - 使用 Rselenium 下载本地文件夹中的 word 文档

我正在使用 R selenium 浏览网站并最终单击打开对话框窗口的按钮以下载文件。但是,我希望文件自动保存在不同的本地文件夹中。

我的问题类似于这个问题。

而不是使用remDr <- remoteDriver(browserName = "firefox")我尝试过

remDr <- remoteDriver(extraCapabilities = makeFirefoxProfile(list( "browser.helperApps.neverAsk.saveToDisk"="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") )),但这给出了一些本地文件夹不存在的错误。

请注意,我没有 Selenium 的先验知识,并且对编程很陌生。

欢迎大家帮忙!

编辑:因为它涉及 .docx 文件,所以正确的 MIME 类型似乎是:application/vnd.openxmlformats-officedocument.wordprocessingml.document. 所以我尝试了以下方法:

))

但这给出了以下错误:

0 投票
3 回答
4684 浏览

r - 在 RSelenium 中指定下载文件夹

我正在使用RSelenium导航到包含下载文件的按钮的网页。我使用 RSelenium 单击下载文件的此按钮。但是,这些文件默认下载在我的文件夹“下载”中,而我想将文件下载到我的工作目录中。我尝试如下指定一个 chrome 配置文件,但这似乎没有完成这项工作:

该文件仍下载在“下载”文件夹中,而不是我的工作目录中。如何解决?

0 投票
1 回答
850 浏览

r - 在 RSelenium 中指定下载文件夹不起作用

因为我 之前的问题仍未解决,所以我尝试使用 firefox 而不是 chrome 指定下载目录。

所以我指定了下载目录:

正如这里所做的那样。

但是,这些文件仍然会下载到我的默认下载目录中,而不是我在 R 中的工作目录中。

有谁知道我可能做错了什么?

0 投票
1 回答
473 浏览

r - R 中用于 RSelenium 的短 xPath

我在此页面findElement()上使用from和 xPath 时遇到问题,其中元素的 xPath 表达式很长,即元素嵌套很深(我使用 firefox 作为远程驱动程序)。如果我使用通过检查元素(例如在 Google Chrome 中)获得的简短 xPath 表达式,则可以在页面上正常工作。但是,在 R 中(据我所知),我只能使用例如from package检索长 xPath 表达式。有没有办法在 R 中获得一个简短的 xPath 表达式来解决这个问题?RSeleniumfindElement()xml_path()xml2

remDr$findElement(using='xpath', ShortxPath)工作正常,但remDr$findElement(using='xpath', LongxPath)我收到以下错误消息:

任何帮助深表感谢!