第五章 爬虫进阶(二十二) 2020-02-08

二十二、 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



以上资料内容来源网络,仅供学习交流,侵删请私信我,谢谢。

你可能感兴趣的:(第五章 爬虫进阶(二十二) 2020-02-08)