2025年6月4日 星期三 乙巳(蛇)年 三月初八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python爬虫 使用selenium操作浏览器

时间:03-29来源:作者:点击数:34

selenium提供的API

  • from selenium import webdriver
  • browser = webdriver.Chrome(executable_path='path') #若已将浏览器驱动添加到环境变量:/usr/bin,就不需要参数
  • browser.get(url) #进入页面,会等所偶遇元素都加载完再向下执行
  • browser.page_source #获取HTML页面源码
  • browser.page_source.find('字符串') #从页面源码中找你想要的字符串,返回值:当html中不存在该字符串时返回-1(经常用于判断是否抓到最后一页,抓到最后一页时让你的程序结束)
  • browser.quit() #关闭浏览器
  • #定位节点
  • #1. 单元素查找(1个节点对象)
  • browser.find_element_by_id('') #得到第一个符合你条件的节点对象,直接从页面结构中找,不怕动态的js影响xpath匹配
  • browser.find_element_by_name('')
  • browser.find_element_by_class_name('')
  • browser.find_element_by_xpath('')
  • browser.find_element_by_link_text('') #根据文本内容查找超链接
  • #2.多元素查找([节点对象列表])
  • browser.find_elements_by_id('') #得到一个列表,放一堆节点对象
  • browser.find_elements_by_name('')
  • browser.find_elements_by_class_name('')
  • browser.find_elements_by_xpath('')
  • browser.execute_script('javascript') #执行一些js脚本
  • #节点操作
  • ele.send_keys('') #搜索框发送内容
  • ele.click()
  • ele.text #获取文本内容,包含子节点和后代节点的文本内容
  • ele.get_attribute('src') #获取属性值

简单案例

  • from selenium import webdriver #导入selenium的webdriver接口打开浏览器
  • #1. 通过webdriver驱动器打开浏览器 --创建浏览器对象
  • options = webdriver.ChromeOptions()
  • #使用chrome浏览器并设置打开的浏览器窗口最大化
  • options.add_argument('--start-maximized')
  • browser = webdriver.Chrome(options=options)
  • #browser = webdriver.Firefox() #使用火狐,如果你没有将firefox驱动器加入环境变量/usr/bin,需要在该接口中加入参数:executable_path='浏览器driver路径'
  • #browser = webdriver.PhantomJS() #使用pantomJS
  • #2. 输入百度地址 --会等待页面中所有元素加载完成后才会继续执行下去
  • browser.get('http://www.baidu.com/')
  • #3. 找到搜索框节点,并在搜索框中发送你想搜的内容,比如:杨千嬅
  • #获取搜索框
  • kw = browser.find)element_by_xpath('//*[@id="kw"]') #参数为百度搜索框的xpath,获取方式:在页面搜索框中右键查看元素--复制xpath
  • #发送搜索内容
  • kw.send_keys('赵丽颖')
  • #4. 找到 百度以下 按钮,进行点击
  • su = browser.find_element_by_xpath('//*[@id="su"]')
  • su.click()
  • #5.关闭浏览器
  • time.sleep(5) #sleep5秒再关,否则直接关掉了
  • browser.quit()
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门