python爬虫之selenium获取网页

2019-08-16  本文已影响0人  行走世间的狮子

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

环境:

使用:

  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)")
上一篇下一篇

猜你喜欢

热点阅读