二十二、 selenium打开和切换窗口
页面切换
有时候窗口中有很多子tab页面。这时候肯定是需要进行切换的。Selenium提供了一个叫做switch_to_window来进行切换,具体切换到哪个页面,可以从driver.window_handles中找到。示例代码如下:
# 打开一个新的页面
self.driver.execute_script(“window.open(‘”+url+”’)”)
# 切换到这个新的页面中
self.driver.switch_to.window(self.driver.window_handles[1])
打开新窗口和切换页面:
1、selenium中没有专门的打开新窗口的方法,是通过window.execute_script()来执行js脚本的形式来打开新窗口的。
window.execute_script("window.open('https://www.douban.com/')")
2、打开新窗口后,driver当前的页面依然还是之前的,如果想要获取新的窗口的源代码,那么就必须先切换过去。示例代码如下:
window.switch_to.window(driver.window_handles[1])
示例代码:
from selenium import webdriver
driver = webdriver.Chrome(executable_path="E:\python\chromedriver\chromedriver.exe")
driver.get("https://wwww.baidu.com/")
driver.implicitly_wait(2)
driver.execute_script("window.open('https://www.douban.com/')")
# 打印豆瓣源代码,需要页面切换,用【1】,不然默认打印百度,百度用【0】
driver.switch_to.window(driver.window_handles[1])
print(driver.page_source)
上一篇文章 第五章 爬虫进阶(二十一) 2020-02-07 地址:
https://www.jianshu.com/p/749a9f0cc0ed
下一篇文章 第五章 爬虫进阶(二十三) 2020-02-09 地址:
https://www.jianshu.com/p/c265ba6cde30
以上资料内容来源网络,仅供学习交流,侵删请私信我,谢谢。