已使用 watir 登录后打开新窗口

问题描述 投票:0回答:1

有没有办法在已经登录站点时打开新窗口或选项卡,并以登录用户身份打开它? 当我尝试使用新的浏览器窗口打开它时,它会以访客用户身份打开它。

我的简化代码结构现在看起来像这样:

b.goto url
Login(b)
link = b."getlink"
new_b.goto link

我希望 new_b 按照登录方式打开。

ruby watir
1个回答
0
投票

是的,可以使用 Watir 打开一个新窗口或选项卡并保持登录状态。这是一个例子:

# Navigate to the page you want to open in a new window/tab
browser.goto("https://example.com")

# Save the current window handle (i.e. the handle of the original window)
original_window = browser.window

# Execute JavaScript to open a new window/tab and switch to it
browser.execute_script("window.open()")
browser.windows.last.use

# Navigate to the new page in the new window/tab
browser.goto("https://example.com/new-page")

# Do some actions in the new window/tab while maintaining the logged-in state
# ...

# Switch back to the original window
original_window.use

在此示例中,我们首先导航到要在新窗口/选项卡中打开的页面。然后我们使用 window 方法保存原始窗口的句柄。

接下来,我们使用 execute_script 方法执行 JavaScript 打开一个新的窗口/标签,并使用 windows 方法返回的 Watir::Window 对象的 use 方法切换到它。

然后我们使用 goto 方法导航到新窗口/选项卡中的新页面。

我们可以在保持登录状态的同时,在新的窗口/标签中进行任何我们想要的操作,例如点击链接、填写表格等

最后,我们使用 Watir::Window 对象上的 use 方法切换回原始窗口,该对象表示我们之前保存的原始窗口句柄。

© www.soinside.com 2019 - 2024. All rights reserved.