您当前的位置:首页 > 计算机 > 编程开发 > Python

python爬虫 使用selenium操作浏览器

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

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()
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门