场景需求
当前窗口点开一个链接后,打开了一个新的标签窗口,我需要在新标签中进行后面的操作
下面以 Python 代码演示
具体实现
首先,切换窗口可以使用WebDriver类的switch_to.window()方法来完成
然后,获取当前窗口的句柄(handle),再后获取所有窗口的句柄,切换到新窗口的句柄上
举个例子:
main_handle = driver.current_window_handle
element.click() # 点击链接
all_handles = driver.window_handles
for handle in all_handles:
if handle != main_handle:
driver.switch_to.window(handle)
这段代码会记录当前窗口的句柄,点击链接后,获取所有窗口的句柄,遍历所有窗口的句柄,如果找到的句柄不是当前窗口的句柄,则切换到这个窗口
这样就可以在新标签窗口中进行操作了
需要注意的是,在切换窗口时需要等待新窗口加载完成,可以使用WebDriverWait类的until()方法来等待新窗口出现
例如:文章来源:https://www.toymoban.com/news/detail-723729.html
wait = WebDriverWait(driver, 10)
wait.until(EC.new_window_is_opened(main_handle))
这行代码会等待10秒,直到新窗口打开
至此,目的实现文章来源地址https://www.toymoban.com/news/detail-723729.html
到了这里,关于Selenium 切换窗口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!