Python跳转页面后重新获取句柄的方法

Python + selenium 对网页的操作,但是点击页面后,跳转到下一个页面,就找不到元素了,反复的检查发现不是元素的问题,而是窗口句柄还停留在上一个页面。

发现这个问题后在百度查了半天发现他们重新获取句柄的方法都不是使用css元素定位的。这就尴尬了。只好自己稍微改了一下。

具体代码如下:

driver.switch_to_window(driver.window_handles[1])

PS:此段重新获取窗口句柄的方法是获取新打开的窗口的句柄,也就是浏览器里第二个窗口的句柄,如果想获取第三个窗口的句柄请把driver.window_handles[1]改为driver.window_handles[2],获取窗口句柄的顺序是从0开始的,driver.window_handles[1]里面的 1 是第二个窗口的句柄。

下面我们来测试一下,先打开百度,然后搜索Python官网,在点进去,点进去后会新打开一个Python官网的页面,在Python官网点击PSF。如果跳转到Python官网之后,不重新获取Python官网的句柄,则点击不了PSF这个按钮。

原始代码:

重新定位句柄的代码添加到跳转页面之后的代码里面,验证一下。

posted @ 2018-04-26 09:28  阿鹏2019  阅读(444)  评论(0编辑  收藏  举报