python爬虫之selenium获取网页

本质: 代码操纵浏览器,自动化访问网页

环境:

  • selenium模块:Web自动化测试工具,应用于Web自动化测试
  • chromdriver:chrome流量器自动化测试工具

使用:

  1. 使用流程
from selenium import webdriver

# chrome设置无界面模式
# opt = webdriver.ChromeOptions()
# opt.set_headless()
# driver = webdriver.Chrome(options=opt)

# 创建浏览器对象
driver = webdriver.Chrome()
# 模拟浏览器打开网页
driver.get(url)

# 获取节点对象
# 获取单个元素,如果匹配到多个节点,则只返回第1个节点对象
element = driver.find_element_by_id("") # 通过id获取节点
element = driver.find_element_by_class_name("") # 通过class获取节点
element = driver.find_element_by_xpath('xpath表达式') # 通过xpath语法获取节点

# 获取多个元素,如果结果1个,则返回节点对象,否则返回列表
# elements = driver.find_elements_by_....


# 操作节点对象
element.send_keys("内容") # 往输入框里输入内容
element.clear() # 清除输入内容
element.click() # 点击按钮


# 获取网页源代码
HTML = driver.page_source
# 获取截图
PNG = driver.save_screenshot()

# 关闭浏览器
driver.close()
  1. 输入ctrl,alt,shift等特殊键及快捷键
from selenium.webdrier.common.keys import Keys
...
# 全选ctrl + a
element.send_keys(Keys.CONTROL,'a')
# 回车
element.send_keys(Keys.ENTER)
...
  1. 一些问题的应对办法
# 判断按钮是否可点  ---> 页面是否含有不可点按钮元素
# 利用字符串的查找
if driver.page_source.find('...disable...') == -1: 
    pass

# 滑动进度条拉到底部 ---> 用于一些AJAX动态加载
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。