【发布时间】:2016-08-11 19:03:52
【问题描述】:
我整天都在使用 RSelenium,但仍然到处遇到障碍。我当前的问题是使用代码WebElemReports$clickElement(),单击链接并打开一个新窗口。我尝试在“about:config”中调整 Firefox 设置,使其不会打开新窗口。它在正常使用时不会打开一个窗口,但使用 RSelenium,它仍然会打开一个新窗口。我也研究了这种方法,但无法理解其工作原理:
How to clickElement() and open the link in the same tab
我的下一个想法是使用 switchToWindow() 函数和 getWindowHandles()。我写的代码如下:
remDr$closeWindow()
windHand <- remDr$getWindowHandles()
remDr$switchToWindow(windHand)
我的想法是我将关闭当前窗口,以便只有一个句柄可供引用并将该句柄传递给 switchToWindow 函数。我找不到太多 R 的 switchToWindow 文档。使用上面的代码时我收到以下错误:
错误:摘要:UnknownError 详细信息:处理命令时发生未知的服务器端错误。 类:org.openqa.selenium.WebDriverException
对此的任何帮助将不胜感激 - 我尝试尽可能多地研究这个问题,这样它就不会像我上一篇文章那样被标记为重复的问题。非常感谢。
【问题讨论】:
-
你能分享这个链接的HTML代码吗?也尝试打印出 windHand 变量,看看里面有什么?是否存在一个或多个值?检查本页末尾的 switchToWindow 部分 - cran.r-project.org/web/packages/RSelenium/vignettes/…
-
您好,windHand 的输出如下,
> windHand <- remDr$getWindowHandles(),windHand[[1]],[1] "{ccdc1fb0-d9c8-4bc7-a5d0-b69b1027cf8a}",抱歉,我不能分享 HTML。 -
链接标签是否有目标属性?如果是的话,它的价值是什么?
-
我不相信它——我假设它与名称、ID 和类位于同一位置,对吗?它有一个 id、类、名称、值、类型和样式,但我在 Elements 下看不到目标。
-
此链接是否在任何框架或 iframe 中?
标签: r selenium web-scraping rselenium window-handles