selenium的其他用法
- 解决截屏全屏问题
- 页面切换问题
使用window_handles控制控制器停留的页面,以控制截图网页
返回默认网页有两种方法
- 设置请求头
注意复制出来的请求头User-Agent:Mozilla。。。。中,冒号换成等于号=
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 启用无头浏览
# option = Options()
# option.add_argument('--headless')
# option.add_argument('--disable-gpu')
# 1 截图问题
# 启动
dr = webdriver.Chrome()
# url
# url = 'https://www.douban.com/'
# # 发送请求
# dr.get(url)
# # 设置截图全屏
# w = dr.execute_script('return document.documentElement.scrollWidth')
# h = dr.execute_script('return document.documentElement.scrollHeight')
# dr.set_window_size(w,h)
# # 快照
# dr.save_screenshot('douban1.png')
# 2 页面切换问题
# 启动
# dr = webdriver.Chrome()
# url = 'http://news.baidu.com/'
# dr.get(url)
# time.sleep(1)
# dr.find_element_by_xpath('//*[@id="pane-news"]/div/ul/li[1]/strong').click()
# # 查看有几个页面
# print(dr.window_handles)
# # 使用window_handles控制控制器停留的页面,以控制截图网页
# dr.switch_to.window(dr.window_handles[1])
# # 返回默认网页方法1
# # dr.switch_to.default_content()
# # 返回默认网页方法2
# dr.switch_to.window(dr.window_handles[0])
# time.sleep(1)
# # 只写这行代码而不写上面的window_handles方法只会保留未跳转前的网页截屏
# dr.save_screenshot('new2.png')
# dr.close()
# 3 设置请求头
# url = 'http://news.baidu.com/'
# option = Options()
# # 添加请求头
# # 注意复制出来的请求头User-Agent:Mozilla。。。。中,冒号换成等于号=
# option.add_argument('User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36')
# # 添加代理
# # option.add_argument('--proxy-server=http://111.72.25.34:3256')
# # 启动
# dr = webdriver.Chrome(options=option)
# dr.get(url)
# # 查看 请求头信息和代理
# print(dr.execute_script('return navigator.userAgent'))
# print('==================================')
# print(dr.page_source)
# 4 触发某个时间,页面出现弹窗体术,处理提示或者获取提示信息方法
# alert = dr.switch_to_alert
# 5 页面前进和后退
dr.forward()
dr.back()