使用Selenium的Python切换窗口

2024-05-15 01:02:53 发布

您现在位置:Python中文网/ 问答频道 /正文

你能帮我提个建议吗?我正在做一些质量保证测试,并且正在测试一个站点。在这个过程中,一个接一个的Chrome窗口打开,我试图在这些Chrome窗口之间切换。我没有成功地切换到第三个窗口。你能帮忙吗?我使用的是Pycharm和Selenium框架。在

以下是我请求您协助的代码部分:

second_login= webdriver.Ie()
second_login.maximize_window()
second_login.get('http://google.com')
print(second_login.title)
second_login.find_element_by_id('id1').click()
tab_now = second_login.window_handles[1]
second_login.switch_to.window(tab_now)
print(second_login.title)
log = second_login.find_element_by_id('id2')
log.send_keys('admin1')
pas=second_login.find_element_by_id('id3')
pas.send_keys('pas1')
logbutton=second_login.find_element_by_class_name('LoginButton')
logbutton.click()
second_login.implicitly_wait(3)
tab_after = second_login.window_handles[-1]
second_login.switch_to.window(tab_after)
second_login.find_element_by_id('id4').click()
print(second_login.title)

谢谢。在


Tags: idbytitleloginelementfindchromewindow
1条回答
网友
1楼 · 发布于 2024-05-15 01:02:53

here所述,您可以通过使用窗口句柄和切换窗口方法来实现。在

在单击链接前,第一个窗口句柄为

window_before = driver.window_handles[0]

新开窗的第二个窗把手

^{pr2}$

我想第三个窗口应该是

driver.window_nandles[2]

再看一眼here,你可以循环槽窗口,只需打破第三个窗口,做任何你想做的事情:

for handle in driver.window_handles:
    driver.switch_to_window(handle)

希望有帮助。在

相关问题 更多 >

    热门问题