gpt4 book ai didi

RSelenium:使用窗口句柄切换窗口

转载 作者:行者123 更新时间:2023-12-02 04:07:13 28 4
gpt4 key购买 nike

我一整天都在使用 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 文档。使用上面的代码时收到以下错误:

Error: Summary: UnknownError Detail: An unknown server-side error occurred while processing the command. class: org.openqa.selenium.WebDriverException

对此的任何帮助将不胜感激 - 我尝试尽可能多地研究这个问题,这样就不会像我的上一篇文章一样被标记为重复的问题。非常感谢。

最佳答案

实际上你无法关闭主窗口,你可以切换到子窗口,如下所示:-

# get main window and store to switch back
currWindow <- remDr$getCurrentWindowHandle()

#gel all windows
windows <- remDr$getWindowHandles()

#loop through switching child window
for (window in windows[[1]]) {
if (window != currWindow[[1]])
remDr$switchToWindow(window)
}

#now do your stuff with child window

#now close your child window after doing all stuff
remDr$closeWindow()

#now switch back to main window for further stuff
remDr$switchToWindow(currWindow[[1]])

关于RSelenium:使用窗口句柄切换窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38904264/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com