R - 捕获 Rselenium 表达式时禁止 try() 输出到控制台

标签 r try-catch rselenium suppressmessage

当表达式失败时,即使 try() 参数 silent = TRUE,以下代码也会将输出发送到控制台。

dd = try(unlist(remDr$findElement("css", "#ctl00_mainA")), silent = TRUE)

suppressMessages() 不会抑制输出。

dd = suppressMessages(try(unlist(remDr$findElement("css", "#ctl00_mainA")), silent = TRUE))

try() 用于捕获错误 Selenium message: Unable tolocate element: ........。代码逻辑完美;脚本继续按预期运行。

该消息不是显示为红色的错误。该消息为黑色;与 print() 和 cat() 产生的颜色相同。

回声已关闭。源代码不会打印到控制台。

我想抑制该消息,同时保留使用 print() 和 cat() 向控制台发送消息的能力。

非常感谢任何想法。

最佳答案

使用 remDr$findElements() 代替相同的参数。如果您要查找的元素不存在,它只会返回一个零长度的列表,这很容易测试,并且您不会在控制台上打印冗长的错误消息。

关于R - 捕获 Rselenium 表达式时禁止 try() 输出到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40029018/

相关文章:

java - 抛出异常时会发生什么?

r - 使用 RSelenium 在 R 中抓取 Javascript

java - RSelenium - Java 启用

r - 如何将包含撇号的 .csv 文件读取到 R 中?

r - 如何在 r studio 中的多个 Excel 工作表上使用脚本

r - 如何将函数应用于 r 中的多个列表列表?

sql-server - sql Try Block中的恢复错误未被捕获

python - 如何在不停止/退出程序的情况下捕获并打印完整的异常回溯?

r - 捕获验证码图像

javascript - 打印 Shiny 条件面板中使用的 JavaScript 条件