当表达式失败时,即使 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/