selenium常用的一些options设置
- 更多免费分享请点击这里
- 下面是一些针对options的常用设置命令及其对应的效果
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 设置无头模式
chrome_options = Options()
# 无头模式启动
chrome_options.add_argument('--headless')
# 谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--disable-gpu')
# 禁止加载图片,提升访问速度
chrome_options.add_argument('blink-settings=imagesEnabled=false')
# 无头模式下防止服务器检测
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 初始化实例
wd = webdriver.Chrome(self.chromedriver_address, options=self.chrome_options)
# 访问百度
wd.get("http://www.baidu.com")
# 设置浏览器大小:全屏
wd.maximize_window()
# 获取网页内容
html = wd.page_source
# 截取浏览器的屏幕,注意:保存的图片必须为png格式
wd.save_screenshot('./screenshot.png')
selenium常用的浏览器窗口设置命令
- 以下是一些针对浏览器窗口设置的命令及其效果
get_window_size() #获取浏览器大小
set_window_size() #设置浏览器位置
get_window_position() #获取浏览器在屏幕上的坐标
set_window_position() #设置浏览器在屏幕的位置
maximize_window() #最大化浏览器
set_window_rect() #设置浏览器的位置和大小
wd.maximize_window() # 设置浏览器大小:全屏
定义实例化函数
- 在使用的时候可以考虑自定义一个实例化函数,截取了一个项目的部分代码,如下
#这里省略了前面部分代码
self.chrome_driver_address = chrome_driver_address #chromedriver存放的地址
def chrome_driver(self): # 实例化chromedrive
option = ChromeOptions()
# 无头模式
option.add_argument('--headless')
option.add_argument('--disable-gpu') # 规避无头模式出现的bug
# 禁止加载图片
option.add_argument('blink-settings=imagesEnabled=false')
# 无头模式下防止服务器检测
option.add_experimental_option('excludeSwitches', ['enable-automation'])
# 初始化实例
if self.url_file_address == None:
chrome_driver = webdriver.Chrome(options=option)
else:
chrome_driver = webdriver.Chrome(self.chrome_driver_address)
return chrome_driver
selenium下载文件(Chrome)
-
设置Chrome的
options:
-
download.default_directory
:设置下载路径 -
profile.default_content_settings.popups
:设置为 0 禁止弹出窗口 -
示例:
# -*- coding: utf-8 -*-
import time
from selenium import webdriver
options = webdriver.ChromeOptions()
prefs = {
"download.prompt_for_download": False,
'download.default_directory': 'C:/Users/Administrator/Desktop/1/',#下载目录
"plugins.always_open_pdf_externally": True,
'profile.default_content_settings.popups': 0,#设置为0,禁止弹出窗口
# 'profile.default_content_setting_values.images': 2,#禁止图片加载
}
options.add_experimental_option('prefs', prefs)
executable_path = "../source/chromedriver_win2.43/chromedriver.exe"
driver = webdriver.Chrome(executable_path=executable_path, chrome_options=options)
driver.get('http://sahitest.com/demo/saveAs.htm')
driver.find_element_by_xpath('//a[text()="testsaveas.zip"]').click()
time.sleep(3)
driver.quit()