处理 RSelenium 错误消息

2023-12-08

目前正在抓取一个页面,该页面可以具有可变数量的元素,并且有时还使用不同的选择器来格式化相同的数据元素。目前正在尝试使用一些 tryCatch 代码忽略 RSelenium 引发的错误,但当指定的元素不在页面上时仍然会停止:

  result <- tryCatch({
    webElem <- remDr$findElement('xpath', "//tr[(((count(preceding-sibling::*) + 1) = 9) and parent::*)]//span[(((count(preceding-sibling::*) + 1) = 1) and parent::*)]")
  }, warning = function(cond) {
    rank1_US <- NA
  }, 
  error = function(cond) {
    rank1_US <- NA
  }, finally = {
    rank1_US <- webElem$getElementText() %>% unlist(.) %>% ifelse(length(.) == 0, NA, .)
  })

当页面上找不到特定元素时,会出现错误:

Selenium message:Unable to locate element: //tr[(((count(preceding-sibling::*) + 1) = 9) and parent::*)]//span[(((count(preceding-sibling::*) + 1) = 1) and parent::*)]
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
System info: host: '462a81a34fb2', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.39-boot2docker', java.version: '1.8.0_111'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{rotatable=false, raisesAccessibilityExceptions=false, firefoxOptions={args=[], profile=UEsDBBQACAgIAIc7I0oAAAAAAAAAAAAAAAAHAAAAdXNlci5qc51WTW/bMAy971cMOW3AKqTretlOXdcBA4Z1aFDsKMgSbauRJU0fcfPvR/mjSRNHbndKbJMS+fj4yOjBUeugfLconGnxiXhWQvdf6oo0TLXMAQHNCgVi8eFtyZSH91/exJ2nYAFtrHEhudTAVKj7Z4JGG8ln/DWE1rg1qUOwxNbS19uz9Nky788U6CrU6Pjx8vK52xiwAybwR0AAHkB8l86HK4yFK0C34OJhuKbBvB4pr51pgHrupA3URU2DbJLLxXL6osAKTxAOfauvlfEwnc1oLUyrlWEC79KsSsDWpv1Tg14hWgmpaXeLQdng02W0MYKpGexhE4xRnoBzxnGjvVH7cB+n72WljUbUGmgKcKvu0edz8eC9RKtgkAsOfETcSgyUcsd8nfdVUq+JsaApPAZwmqlUzFczqExlvYt6+rIWCuHkBp8Z54DljBoz90gHysEFP4nEU6Wkt4ptQdycL1e/DDInlfbTtDG+Erf6j9RYX3++JBIvMvd3P9FjwQoTw+dCMb1eHHOuT4gypeiDRzBSnLKH/ji2RysRbrQlbS0DKOkDHvA3SneKCYkGaxnI0E0j6zC5xIUsAIphYbAB8lTzibfRkhq7xuLZtAXFUwdFl0q6OEg5VVt3rCHRYoGBaIS23N6jyat1JNrUSjfZ8IBHJ8MWmaIA/xEfnOSBGicrqak1SvJtnqoaWmw7MuSTqeazQPuTSXq5ikUju1b53b286sj4Mt2cPCab8VN3DoVJRUHLE+q160NMs+34e9yIpizRDs6YtZ4g+0xLiy0VULKowrScjLBzbwf+TEd7zIcs20Y6I/dRqYLbkl4ZO/uPc7bZo0dEbu5/XpELwn... <truncated>
Session ID: c7f538b9-b516-411d-ace9-a980353ae442
*** Element info: {Using=xpath, value=//tr[(((count(preceding-sibling::*) + 1) = 9) and parent::*)]//span[(((count(preceding-sibling::*) + 1) = 1) and parent::*)]}

有人有办法处理错误吗?


你可以尝试这样的事情:

result <- tryCatch({
    suppressMessages({
      webElem <- remDr$findElement('xpath', "//tr[(((count(preceding-sibling::*) + 1) = 9) and parent::*)]//span[(((count(preceding-sibling::*) + 1) = 1) and parent::*)]")
      rank1_US <- webElem$getElementText() %>% unlist(.) %>% ifelse(length(.) == 0, NA, .)
      rank1_US
    })
  }, 
  error = function(e) {
    NA_character_
  }
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理 RSelenium 错误消息 的相关文章

  • 将 R 中的 arules 生成的规则应用于新交易

    我的目标是使用 R 包生成的规则arules来预测topic每个事务 每个事务有 1 个主题 其中每个事务是文档中的一组单词 我有一个训练集trans train 用于创建规则 和测试集trans test 我想预测它的 主题 我还希望能够
  • 如何将管道链 (magrittr) 的结果提供给对象

    这是一个相当简单的问题 但我无法通过 google stackexchange 找到答案并查看 magrittr 的文档 如何提供通过 gt 连接的函数链的结果来创建向量 我看到大多数人做的是 a lt data frame x c 1 3
  • 如何在Shiny中默认选择verbatimTextOutput中的文本?

    这是与我之前的问题相关的问题 是否可以有固定宽度的 verbatimTextOutput 并让文本在 Shiny 中换行 https stackoverflow com q 58516071 7669809 我有以下闪亮的应用程序 http
  • R:data.table 与 merge(aggregate()) 性能

    或者更一般地说 它是DT SD by versus merge aggregate 话不多说 这里是数据和示例 set seed 5141 size 1e6 df lt data table a rnorm size b paste0 sa
  • 在 Ubuntu 上安装软件包需要很长时间

    我之前使用 Windows 作为操作系统 RStudio 用于 Windows 今天切换到 Ubuntu 并再次安装了 R 和 RStudio 当我尝试从 CRAN 安装一些软件包时 仅tidyverse 使用install package
  • Foreach循环无法找到对象

    我正在尝试将 foreach 与并行后端结合使用来加速计算 用于特征选择的 AUCRF 随机森林的交叉验证 如果这确实重要的话 在这样做的过程中 我需要获取向量的子集 向量的名称可以更改 但可以作为字符向量进行访问 我使用 eval par
  • rpy2 在从 R 到 Python 的数据帧中处理 NA/缺失值时出现问题

    我在使用rpy2包进行转换时遇到问题dataframe将 R 中的内容保存到 Python 中 import os os environ R HOME Library Frameworks R framework Resources imp
  • 添加带有错误的弹出窗口,警告闪亮

    有什么办法可以添加一个popup 可关闭的窗口 其中包含警告或其他消息Shiny 我用来构建 Web 应用程序的 R 包 我已经寻找了一段时间但没有任何结果 虽然我不认为有任何本地可用的东西shiny 你可以尝试添加jQueryUI到您的应
  • 在 ggplot2 中,如何将堆叠直方图中的小值条形组合在一起?

    示例数据 tmp df lt data frame a rnorm 100 0 1 b rnorm 100 0 5 1 c rnorm 100 0 5 1 d rnorm 100 1 1 e rnorm 100 1 1 gt tidyr g
  • r : 直方图上的 ECDF

    在 R 中 与ecdf我可以绘制经验累积分布函数 plot ecdf mydata 与hist我可以绘制数据的直方图 hist mydata 如何在同一图中绘制直方图和 ecdf EDIT 我尝试做类似的东西 https mathemati
  • 在 mts 对象上使用 Apply 系列函数

    在 mts 对象上使用 apply 或 sapply 会在发送到函数时删除其时间序列属性 我应该如何在 mts 对象中的每个时间序列上应用相同的函数 带有 ts 输入和 ts 输出 并返回它 最好是 mts 我的意思是除了使用 for 循环
  • 根据值的运行总计创建组

    我的数据在一个变量 Y 上是唯一的 另一个变量 Z 告诉我每个 Y 中有多少人 我的问题是我想从这些 Y 和 Z 创建 45 人的组 我的意思是 每当运行总计Z 达到 45 创建一组 然后代码继续创建下一组 我的数据看起来像这样 ID X
  • 尽管提供了群落矩阵,纯素食 DBRDA 物种得分为空

    我使用纯素社区生态包在 R 中执行了 基于距离的冗余分析 dbRDA 我想在 dbRDA 结果的排序图中显示 鱼类 营养群体对样本之间差异 营养级鱼类组合的丰度数据 的相对贡献 IE 将箭头和营养级组名称叠加到排序图上 其中箭头线的长度表示
  • 如何从 data.frame 中选择行和列的子集

    我有这个 d d Age gt 2 它返回 Age 超过 2 的所有行 但我只想返回几列中的值 例如 d X 和 d Y 而不是全部 无论如何我可以做到这一点吗 Thanks d d Age gt 2 c X Y
  • 在 R 中读取 Stata 13 文件

    有没有办法在 R 中读取 Stata 版本 13 数据集文件 我尝试执行以下操作 gt library foreign gt data read dta TEAdataSTATA dta 但是 我收到一个错误 read dta TEAdat
  • 在 Shiny 中使用 readlines(prompt = )

    我有一个代码 使用以下方式获取输入readlines prompt 功能 您能告诉我 Shiny 中的哪个输入函数足以将此代码适应 Shiny 应用程序吗 我需要一个交互功能 我无法使用简单的输入selectInput 因为我有很多read
  • R - 根据另一个数据框查找每组的重叠日期

    我有一个数据框 其中包含多个雨量计的降雨测量值 如下例所示 gt rnfl ID date value 1 250 2000 03 01 5 37 2 250 2000 03 02 0 00 3 250 2000 03 03 2 94 4
  • ggplot 中跨组的连续线

    我有一个数据时间序列 其中观察了一些数据 模拟了一些数据 我想生成整个数据系列随时间变化的图 其中颜色表示数据源 但是 我只能弄清楚如何使 ggplot 中的 geom line 连接同一组中的点 这是一个例子来说明 Create samp
  • readRDS() 加载额外的包

    什么情况下会出现readRDS R 中的函数尝试加载包 命名空间 我很惊讶地在新的 R 会话中看到以下内容 gt loadedNamespaces 1 base datasets graphics grDevices methods sta
  • R 条形图中的 X 轴

    我想问一个关于 barplot 轴的问题 首先请看我的数据 SerNo DOY Rain 1 350 0 2 351 0 3 352 0 4 353 0 5 354 0 6 355 0 7 356 0 8 357 0 9 358 0 10

随机推荐

  • 将许多子目录拆分为一个新的、单独的 Git 存储库

    这个问题与 将许多子目录分离到新的单独的 git 存储库中 Git 子树和多个目录 我不想分离单个子目录 而是想分离几个子目录 例如 这是我的文件夹结构 app1 file1 file2 folder1 folder2 app2 file3
  • 来自输入文件的动态数组

    我是初学者 所以如果这确实是一个愚蠢的问题 我很抱歉 我的任务是从输入文件中打印出动态数组 我尝试用谷歌搜索它 发现了一些类似的问题 但答案都是 使用向量 等 但我们还没有学到这些 还说必须使用函数 这就是我想出的 include
  • 如何从 PL/pgSQL 写入磁盘上的文件?

    我想做相当于 c 或 php fopen 和 fwrite 的操作 我不想将表转储到磁盘 我正在尝试在开发过程中进行一些调试日志记录 您可以在 postgres 函数中使用 plpythonu f open f write f close
  • Bootstrap 下拉菜单隐藏在模式中

    您好 我正在尝试获取引导下拉列表以显示模型内的列表 我想我要说的是 当我单击下拉菜单时 它会展开 但如果列表比模型长 它将切断列表的其余部分 导致用户无法选择所有选项 我一直在谷歌搜索并看到这篇文章点击这里这与我的问题非常相似 然而 他们说
  • Pandas 使用正则表达式分隔符读取 csv

    我一直在尝试读取这样的自定义 csv 文件 6 Rotterdam NLD Zuid Holland 593321 19 Zaanstad NLD Noord Holland 135621 214 Porto Alegre BRA Rio
  • java 类型推断是如何工作的?

    有人可以解释一下以下语法是如何工作的吗 public static
  • 有关 PHP 中网络爬虫的错误

    我正在尝试使用 PHP 创建一个简单的网络爬虫 它能够爬行 edu 域 并提供父级的种子 url 我使用了简单的html dom来实现爬虫 而一些核心逻辑是我自己实现的 我将发布下面的代码并尝试解释这些问题 private function
  • ios 在“确认您的应用内购买”对话框中显示不同的价格

    为 iOS 应用添加应用内购买 我可以成功购买该产品 但 确认您的应用内购买 对话框始终显示与我格式化的本地化价格相比的额外价格 示例 产品的本地化价格为 39 99 欧元 但在确认对话框中 产品的价格增加到 41 73 欧元 预先感谢您提
  • Maven的pom.xml中的pluginManagement是什么?

    这是我的 pom 文件的一个片段
  • 分区:如何在每个分区后添加等待

    我有一个每分钟接受 20 个请求的 API 之后我需要等待 1 分钟才能查询它 我有一个项目列表 通常超过 1000 个 我需要从 API 查询其详细信息 我的想法是我可以使用Partitioner将我的列表分为 20 个项目 请求 但很快
  • jquery foreach div 随机颜色

    我的函数有这个问题 我试图将一些颜色 预定义 随机化到我的 div 中 并在每次使用颜色时进行计数 这是我的html div class change color2 div div class change color2 div div c
  • mysql中为什么null<>null=null

    我正在学习 MySql 教程 并且完成了以下查询 mysql gt select null lt gt null null lt gt null NULL 我不明白为什么结果是 Null 我认为它需要是 1 或 0 基于其他比较运算符的结果
  • Aws Api Gateway 集成请求 如何将属性附加到请求正文?

    我想在将请求正文和查询字符串参数发送到 lambda 之前将其组合起来 假设我在 Lambda 中有一个实体 如下所示 Class Person private String firstName private String lastNam
  • 在 Pandas 中创建空数据框并指定列类型

    我正在尝试创建一个带有索引的空数据框并指定列类型 我这样做的方式如下 df pd DataFrame index pbp columns contract state and county code state county startin
  • Android:SDK和库项目有什么区别

    对于像facebook这样的应用程序 他们提供了SDK 我使用了许多第三方库来满足不同的需求 这两种情况有什么区别 这是作为库或 sdk 捆绑的代码 A Library是一段代码 您可以从自己的代码中调用它 以帮助您更快 更轻松地完成任务
  • 我可以让Shiny在更新之前等待numericInput更长的时间吗?

    在我的 Shiny 应用程序中 有一些numericInput and selectInput Shiny 在键入期间更新输出 尤其是当用户在 numericInput 中键入速度较慢时 sumbitButton你能习惯停止自动更新吗 但我
  • 实体框架:当数据库更改时如何刷新模型?

    如果您从数据库构建 edmx 文件 然后数据库发生更改 如何让模型接受更改 您是否删除整个模型并重新生成 或者您可以检测到更改吗 我看到一篇文章提到 更新您的模型 rt edmx 文件上的鼠标命令 但我没有看到它 更新您的 edmx 以反映
  • com.google.firebase.FirebaseException:发生内部错误。 [7:]

    我曾经创建帐户并使用 firebase 连接到我的应用程序 但很快当我断开连接时 我无法创建帐户 1 小时后 我设法创建了一个帐户 当我断开连接以查看问题是否解决时 我意识到它仍然存在 通过做task getException 如果帐户创建
  • 使用 VBA Excel 的 SQL 数据透视函数文本文件数据库

    我们在工作中无法访问 SQL Server 因此我必须在 Excel VBA 中设计一个应用程序并使用文本文件 CSV 来存储数据 我查询数据 加入 CSV 没有问题 但我想使用 SQL Pivot Unpivot 语句将其中一列转置为行
  • 处理 RSelenium 错误消息

    目前正在抓取一个页面 该页面可以具有可变数量的元素 并且有时还使用不同的选择器来格式化相同的数据元素 目前正在尝试使用一些 tryCatch 代码忽略 RSelenium 引发的错误 但当指定的元素不在页面上时仍然会停止 result lt