Selenium 常用API大全(一篇就够)

Selenium Crawl API(一篇就够)

万字长文整理不易,希望对各位有所帮助,欢迎大家一键三连,点赞收藏加关注。同时也欢迎大家交流分享,共同学习互相进步!

文章目录

  • Selenium Crawl API(一篇就够)
    • Selenium 常用方法
    • 初始化
    • 常用的操作
    • Chrome_Options 与 option区别
    • 标签切换
    • 句柄
    • 清除浏览器窗口
    • 自动向下滑动
    • 上传图片操作
    • 鼠标操作
    • 键盘操作
    • 等待直到
    • 二次截图
    • `Xpath解析`
    • `Xpath难点`
    • Chrome 识别标志
    • Selenium 键盘操作
    • Selenium 注意问题

Selenium 常用方法

  • 使用selenium操作时需要时刻模拟认为的操作行为方式
    • 比如:登录等需要多少秒,最好具体到每一小步

初始化

self.option = webdriver.ChromeOptions()
self.option.add_experimental_option('excludeSwitches', ['enable-automation'])
self.driver = webdriver.Chrome(chrome_options=self.option)
# self.driver.maximize_window()
from selenium import webdriver

chrome_options=webdriver.ChromeOptions() # 设置谷歌浏览器的一些选项
chrome_options.add_argument('lang=zh_CN.UTF-8') #设置编码格式
                            #模拟移动设备   (移动版网站的反爬虫的能力比较弱)   模拟iPhone6
chrome_options.add_argument('user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"')

chrome_options.add_argument('--no-sandbox')  #取消沙盒模式,解决DevToolsActivePort文件不存在的报错
chrome_options.add_argument('--disable-gpu')  #谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--disable-dev-shm-usage')  #克服有限的资源问题  【但是用于Linux系统】
chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败

proxy='222.221.11.119:3128'
chrome_options.add_argument('--proxy-server=http://'+proxy)  #设置代理
driver=webdriver.Chrome(executable_path='C:\\Users\Administrator\Anaconda3\Scripts\chromedriver.exe',chrome_options=chrome_options)
driver.get('http://www.baidu.com')
#print(driver.page_source) #打印源码
print(len(driver.page_source)) #744016

常用的操作

  1. driver.page_source 当前标签页浏览器渲染之后的网页源代码
  2. driver.current_url 当前标签页的url
  3. driver.close()<

你可能感兴趣的:(python)