在编写一个RPA流程的过程中,要新打开一个窗口,然后切换到这个最新打开的窗口。使用selenium内置方法进行切换,发现还是停留在原有界面,并没有切换过去。原因为最新打开的窗口并不一定就是最后的窗口。
目前通过两种方式进行解决:
current_window_handles = driver.window_handles # 打开新窗口前所有的窗口
driver.find_element_by_xpath('//a[text()="登录"]')# 这里通过点击等方式会打开一个新的窗口
new_window_handles = driver.window_handles
for window_handle in new_window_handles:
if window_handle not in current_window_handles:
driver.switch_to.window(window_handle)
window_handles = driver.window_handles
for window_handle in window_handles:
driver.switch_to.window(window_handle)
if window_handle.title in "这里是网站title":
break