问题:
有时候用selenium操作浏览器,打开多个页面后,在不用的时候,需要关掉,切换页面需要切换句柄,关掉页面后,也需要重新切换句柄,否则页面接着操作元素会出问题
解决方法:
import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.maximize_window()driver.get('/')driver.find_element_by_xpath('//*[@id="hotsearch-content-wrapper"]/li[1]/a/span[2]').click()print(driver.window_handles)driver.switch_to.window(driver.window_handles[-1])time.sleep(3)driver.close()driver.switch_to.window(driver.window_handles[-1])driver.find_element_by_xpath('//*[@id="hotsearch-content-wrapper"]/li[1]/a/span[2]').click()
以上代码运行后,会先打开百度首页,然后点击第一个热点新闻链接,过3秒后关掉第2个页签,然后重新点击新闻链接