Python之selenium创建多个标签页

2021-03-10 02:29

阅读:523

标签:第一个   初始化   手动   tab   and   多个   建议   查看   tps   

最近在做一个项目,需要用到cookies登录,想法是,在同一个浏览器下,打开两个标签页进行。让其自动获取cookies,先记录,不行的话,到时候再手动加载cookies。

 1 ‘‘‘
 2     #selenium加载新标签页
 3 ‘‘‘
 4 #导入所需库
 5 from selenium import webdriver
 6 from selenium.webdriver.common.keys import Keys
 7 import time
 8 
 9 #初始化浏览器的一些参数
10 options = webdriver.ChromeOptions() #实例化
11 options.add_argument(--headless) #无头模式
12 options.add_argument(--disable-gpu) #禁用gpu硬件加速
13 options.add_argument(--window-size=1920, 1080) #初始化窗口大小,网上很多人说用maximize_window()最大化窗口,经测试,然并卵
14 
15 #定义两个链接,以便观察
16 url1 = https://www.baidu.com #用在浏览器标签页1
17 url2 = https://www.sina.com.cn #用在浏览器标签页2
18 
19 #初始化浏览器
20 driver = webdriver.Chrome(options=options)
21 #driver.maximize_window() #然并卵的最大化窗口函数
22 
23 #开始请求网页
24 driver.get(url1)
25 driver.implicitly_wait(5) #等待加载,用time.sleep()的话,我更建议用这个函数
26 driver.save_screenshot(baidu.png) #截图查看是否符合预期
27 #打印以便比较
28 print(driver.window_handles)
29 cookies = driver.get_cookies()
30 print(cookies)
31 
32 #新增标签页
33 newTab = window.open("https://www.sina.com.cn"); #就当成js语句吧
34 driver.execute_script(newTab) #输出js语句
35 #切换标签页
36 #driver.switch_to_window(driver.window_handles[-1]) #切换到最后一个标签页,switch_to_window在3.7已经不推荐使用了(反正我的版本是3.7.9,姑且这么说)
37 driver.switch_to.window(driver.window_handles[-1]) #切换到第二个标签页
38 cookies2 = driver.get_cookies()
39 print(cookies2)
40 
41 #截图
42 driver.save_screenshot(sina.com.cn.png)
43 #打印第二个标签页的值用来和第一个比较
44 print(driver.window_handles)

 最后要说一句,打完收工。

Python之selenium创建多个标签页

标签:第一个   初始化   手动   tab   and   多个   建议   查看   tps   

原文地址:https://www.cnblogs.com/mafu/p/14158337.html


评论


亲,登录后才可以留言!