1、我们打开网页有时候会开出多个页面,导致我们常常定位不到我们需要的元素,这种情况就是句柄的因素,如下图所示:
2、句柄切换代码如下:
from selenium import webdriver from time import sleep dr=webdriver.Firefox() dr.get(r"https://home.firefoxchina.cn/")#打开火狐首页 sleep(2) selen=dr.current_window_handle#获取当前页面(火狐首页)的句柄 ss=dr.find_element_by_css_selector('#site-my-list') ss.find_element_by_link_text(u"百 度").click() dr.switch_to_window(selen)#跳转到火狐首页 sleep(2) dr.find_element_by_link_text("新 浪").click() sleep(2) handles=dr.window_handles#获取所有的句柄 for xx in handles:#遍历句柄 dr.switch_to_window(xx)#切换到每次遍历的句柄 if xx.title=="百度一下,你就知道":#判断句柄title是否是“百度一下,你就知道” break#跳出循环 dr.quit()