Chromdriver的配置项:https://peter.sh/experiments/chromium-command-line-switches/
下面列举常用配置项:
防止网站识别Selenium代码:
from selenium import webdriver
options = webdriver.ChromeOptions() options.add_experimental_option('excludeSwitches', ['enable-automation'])
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://www.taobao.com')
Selenium 不加载图片:
from selenium import webdriver
options = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images":2}
options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://www.taobao.com')
最大化窗口打开浏览器:
注:配置参数前面两个小横线可以去掉,如:--headless 可以写成 headless
from selenium.webdriver.chrome.options import Options options = Options() options.add_argument('--start-maximized') # 最大化窗口
options.add_argument('window-size=400,900') # 设置浏览器尺寸 driver = webdriver.Chrome(chrome_options=options) driver.get('http://www.baidu.com') # 下面这种方法先用chrome默认大小打开,再最大化或自定义尺寸
driver = webdriver.Chrome() driver.get('http://www.baidu.com') driver.maximize_window() # 窗口最大化 driver.set_window_size(600, 900) # 自定义尺寸
options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
options.add_argument('--incognito') # 无痕模式
options.add_argument('--disable-infobars') # 不显示 chrome正受到自动测试软件的控制。
options.add_argument('--hide-scrollbars') # 隐藏滚动条
options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
对JS alert()弹窗的处理:
# 已经有弹窗弹出 # 捕获弹窗 alert = driver.switch_to.alert # 或者 driver.switch_to_alert() # 读取弹窗内容 print(alert.text) # 点击确定关闭弹窗 alert.accept()
对 iFrame框架处理:
# 可以把框架理解为浏览器的一个新标签页 # 切换到框架后就可以把框架当作一个打开的网页进行操作 # 切换到iframe框架 driver.switch_to.frame('框架name属性值') # 或者 driver.switch_to_frame('框架name属性值') driver.find_element_by_id('frameLink').click()
driver.switch_to.parent_frame() # 再切换到父框架
待更新...