标签: rselenium

会话未创建:此版本的ChromeDriver仅支持ChromeDriver出现Chrome 74版本错误,Chrome浏览器使用Selenium

我正在尝试使用rsDriver函数运行RSelenium,但是当我运行时,出现 rD <- rsDriver() 一条消息告诉我我需要更新版本的Chrome:

> rD <- rsDriver()
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking geckodriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking phantomjs versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
[1] "Connecting to remote server"

Selenium message:session not created: This version of ChromeDriver only supports Chrome version 74
  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Mac OS X 10.14.3 x86_64)

Could not open chrome browser.
Client error message: …
Run Code Online (Sandbox Code Playgroud)

selenium google-chrome r selenium-chromedriver rselenium

89
推荐指数
7
解决办法
14万
查看次数

使用RSelenium包执行jQuery函数

我正在尝试使用该RSelenium软件包自动执行登录网站并对其执行某些过程的过程.我已经能够登录,点击这里和那里的按钮,但我坚持在jQuery页面上执行一个功能.有一个下拉框,使用jQuery函数填充其中的数据.我不确定如何执行此功能.页面源(包括jQuery函数)如下:

 <input disabled="disabled" id="stuff" name="stuff" style="width:100%" type="text" /><script>
    jQuery(function(){jQuery("#stuff").kendoDropDownList({"change":disableNext,"dataSource":{"transport":{"read":{"url":"/StuffInfo/GetStuff","data":filterStuff},"prefix":""},"serverFiltering":true,"filter":[],"schema":{"errors":"Errors"}},"autoBind":false,"optionLabel":"Select court...","cascadeFrom":"state"});});
</script>
            <script>
Run Code Online (Sandbox Code Playgroud)

下拉列表的名称是stuff,我正在使用以下代码来访问它:

library("RSelenium")

startServer()
mybrowser <- remoteDriver()
mybrowser$open()
mybrowser$navigate("<URL>")
wxChooseStuff <- mybrowser$findElement(using='id',"stuff")
Run Code Online (Sandbox Code Playgroud)

当我尝试执行以下命令时:

wxChooseStuff$clickElement()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error:   Summary: ElementNotVisible
     Detail: An element command could not be completed because the element is not visible on the page.
     class: org.openqa.selenium.ElementNotVisibleException
Run Code Online (Sandbox Code Playgroud)

我希望点击会自动填充下拉列表中的数据.

任何关于如何使用jQuery函数的指针RSelenium都将非常感激.

即使我可以jQuery使用另一个包执行该功能,那也没关系.我想执行此函数并单击该元素.

PS - 我不是网络开发者,如果我问一个愚蠢的问题,请原谅我.

编辑:

我根据建议尝试了以下代码:

在这个命令中,我只包括script标签中包含的完整文本,用"单引号(')替换所有双引号()

 mybrowser$executeScript(script = "jQuery(function(){jQuery('#stuff').kendoDropDownList({'change':disableNext,'dataSource':{'transport':{'read':{'url':'/StuffInfo/GetStuff','data':filterStuff},'prefix':''},'serverFiltering':true,'filter':[],'schema':{'errors':'Errors'}},'autoBind':false,'optionLabel':'Select …
Run Code Online (Sandbox Code Playgroud)

jquery r rselenium

20
推荐指数
1
解决办法
683
查看次数

使用R将字段添加到在线表单并刮取生成的javascript创建表

我试图让R在这个网页http://cti.voa.gov.uk/cti/上用预定义的文本(例如BN1 1NA)完成"通过邮政编码搜索"字段,前进到下一页并抓取结果4列表,根据邮政编码,可以在多个页面上.为了使其更复杂,"改进指标"不是文本字段,而是图像文件(如果使用邮政编码BN1 3HP进行搜索,则会看到).我希望此列包含0或1,具体取决于图像是否存在.

最终,我追随一个很好的数据框架,它反映了屏幕上的4列.

我试图修改这个问题的建议去做我上面描述的没有运气的事情,说实话我试图破译这个问题.

我意识到R可能不是最适合我需要做的事情,但这些都是我可以使用的.任何帮助将不胜感激.

javascript r web-scraping phantomjs rselenium

13
推荐指数
1
解决办法
902
查看次数

如何使用Rselenium读取html表?

我正在使用Rselenium导航到网页.以下代码正在这样做.我没有提供网址,因为我在需要vpn连接的公司中使用网址:

RSelenium::startServer()
require(RSelenium)
remDr <- remoteDriver()
remDr$navigate("some url")
Run Code Online (Sandbox Code Playgroud)

导航到网页后,在html源代码中我有下表:

<font size="2">
<table border="1">
<tbody>
<tr>
<td> item1 </td>
<td> 0 </td>
<td> 0.05 </td>
<td> 2.43 </td>
<td align="center"> Pct </td>
<td align="center"> 1 </td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

现在问题是如何提取此表的内容?请假设url不存在,否则我可以使用XML函数:readHTMLTable(remDr $ getCurrentUrl()).但由于某些原因,这不起作用.我只需要使用remoteDriver句柄(remDr).非常感谢你的时间

selenium r web-scraping rselenium

12
推荐指数
1
解决办法
4389
查看次数

RSelenium:服务器信号端口已在使用中

我在RSelenium中使用以下代码来打开浏览器.关闭浏览器,甚至通过运行remDr $ close()关闭处理程序后,该端口仍在使用中.我必须去终端并手动终止进程,以便相同的端口可用.是否有任何自动化方式使RSelenium在完成抓取后使端口自由?

所以这是我的代码:

library(RSelenium)
rD <- rsDriver(verbose = FALSE,port=4444L)
remDr <- rD$client
remDr$close()
Run Code Online (Sandbox Code Playgroud)

谢谢

r rselenium

12
推荐指数
4
解决办法
5740
查看次数

在Azure批处理上运行Selenium并行测试

我在Windows 7上使用R的最新版本.

我想用RSelenium这样的方法并行运行很多测试,我的问题是:

  • 推荐多种RSelenium测试的方法是什么?

假设我想进行1000次测试,每步需要1小时.逐个运行测试需要花费很多时间(每天24次测试,因此总共需要42天).我知道如何使用doParallel和foreach包在我的机器上并行运行测试:并行运行RSelenium,但有时,这还不够.我想并行运行大约100个测试.我尝试使用Azure Batch,但在启动selenium服务器时在某些节点上遇到很多错误.

更具体地说,我写了dockerfile:

FROM rocker/r-base:latest 

RUN  apt-get update \
  && apt-get install -y --no-install-recommends \
   libxml2-dev \
   libcurl4-openssl-dev \
   libssl-dev \
   gnupg2 \
   libfftw3-dev \
   libtiff-dev \
   libx11-dev \
   libcairo2-dev \
   libxt-dev \
   firefox

#RUN add-apt-repository -y ppa:mozillateam/firefox-next

## Install Java 
RUN echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" \ 
        | tee /etc/apt/sources.list.d/webupd8team-java.list \ 
    && echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" \ 
        | tee -a /etc/apt/sources.list.d/webupd8team-java.list \ 
    && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys …
Run Code Online (Sandbox Code Playgroud)

foreach selenium r rselenium azure-batch

12
推荐指数
1
解决办法
296
查看次数

在RSelenium中滚动页面

如何使用RSeleniumWebDriver 手动滚动到页面的底部(或顶部)?我有一个元素只有在页面上可见时才可用.

r selenium-webdriver rselenium

11
推荐指数
1
解决办法
4787
查看次数

使用R搜索搜索后面的asp javascript分页表

我试图拉内容https://www.askebsa.dol.gov/epds/default.asp用两种rvestRSelenium但当JavaScript页面开始搜索框没有找到指导?将所有这些内容整合到一个简单的CSV文件中会很棒.

之后,从https://www.askebsa.dol.gov/mewaview/View/Index/6219这样的个别文件中提取数据似乎是可能的..但我也很感激这样做的干净建议.谢谢

javascript r web-scraping rselenium rvest

11
推荐指数
1
解决办法
395
查看次数

难以理解如何从该站点刮取数据(使用R)

我试图从这个站点使用R来刮取数据:http: //www.soccer24.com/kosovo/superliga/results/#

我可以做以下事情:

library(rvest)
doc <- html("http://www.soccer24.com/kosovo/superliga/results/")
Run Code Online (Sandbox Code Playgroud)

但我很难知道如何获取数据.这是因为网站上的实际数据似乎是由Javascript生成的.我能做的是

html_text(doc)
Run Code Online (Sandbox Code Playgroud)

但是这给了很长时间的奇怪文本模糊(这确实包含了数据,但是散布着奇怪的代码,而且根本不清楚我将如何解析它.

我要提取的是所有比赛的比赛数据(日期,时间,球队,结果).此站点不需要其他数据.

任何人都可以提供一些关于如何从该网站提取数据的提示吗?

r web-scraping rselenium rvest

10
推荐指数
1
解决办法
1575
查看次数

使用R从TripAdvisor搜索数据

我想创建一个可以从Trip Advisor中抓取一些数据的爬虫.理想情况下,它将 (a)识别要爬行的所有地点的链接, (b)收集每个地点所有景点的链接, (c)收集所有评论的目的地名称,日期和评级.我现在想集中讨论(a)部分.

这是我开始的网站:http: //www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html

这里有问题:该链接提供了前10个目的地,如果您再点击"查看更多热门目的地",它将展开列表.它似乎使用javascript函数来实现这一点.不幸的是,我不熟悉javascript,但我认为下面的块可能会提供有关它如何工作的线索:

<div class="morePopularCities" onclick="ta.call('ta.servlet.Tourism.showNextChildPage', event, this)">
<img id='lazyload_2067453571_25' height='27' width='27' src='http://e2.tacdn.com/img2/x.gif'/>
See more popular destinations in New Zealand </div>
Run Code Online (Sandbox Code Playgroud)

我已经为R找到了一些有用的网页编写软件包,比如rvest,RSelenium,XML,RCurl,但是其中只有RSelenium似乎能够解决这个问题,尽管如此,我仍然无法使用它出.

这是一些相关的代码:

tu = "http://www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html"
RSelenium::startServer()
remDr = RSelenium::remoteDriver(browserName = "internet explorer")
remDr$open()
remDr$navigate(tu)
# remDr$executeScript("JS_FUNCTION")
Run Code Online (Sandbox Code Playgroud)

最后一行应该在这里做,但我不确定我需要在这里调用什么函数.

一旦我设法扩展这个列表,我将能够以与解决(b)部分相同的方式获取每个目的地的链接,我想我已经解决了这个问题(对于那些感兴趣的人):

library(rvest)
tu = "http://www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html"
tu = html_session(tu)
tu %>% html_nodes(xpath='//div[@class="popularCities"]/a') %>% html_attr("href")
 [1] "/Tourism-g255122-Queenstown_Otago_Region_South_Island-Vacations.html"                      
 [2] "/Tourism-g255106-Auckland_North_Island-Vacations.html"                                     
 [3] "/Tourism-g255117-Blenheim_Marlborough_Region_South_Island-Vacations.html"                  
 [4] "/Tourism-g255111-Rotorua_Rotorua_District_Bay_of_Plenty_Region_North_Island-Vacations.html"
 [5] "/Tourism-g255678-Nelson_Nelson_Tasman_Region_South_Island-Vacations.html"                  
 [6] "/Tourism-g255113-Taupo_Taupo_District_Waikato_Region_North_Island-Vacations.html"          
 [7] "/Tourism-g255109-Napier_Hawke_s_Bay_Region_North_Island-Vacations.html"                    
 [8] "/Tourism-g612500-Wanaka_Otago_Region_South_Island-Vacations.html"                          
 [9] "/Tourism-g255679-Russell_Bay_of_Islands_Northland_Region_North_Island-Vacations.html"      
[10] …
Run Code Online (Sandbox Code Playgroud)

xpath r rselenium

9
推荐指数
1
解决办法
2210
查看次数