一、selenium库
1、综述
- 驱动浏览器,模拟人的上网场景,解决js渲染问题
2、使用细节
(1)声明浏览器对象
- webdriver.Chrome()
(2)访问页面
- brower.get(' ')
(3)查找元素
- 单个元素
- 多个元素
(4)元素交互操作
(5)交互动作
- 动作附加到动作练中串行执行
(6)执行JS
(7)获取元素信息
- 获取属性:input.get_attribute('class')
- 获取文本:input.text
- 获取ID、位置、标签名和大小等信息:input.id / size / tag_name / location
(8)Frame处理
- frame搭建的框架,每一个frame里都是一个page,需要进行切换
(9)等待:确保元素加载完成
- 隐式等待:找到元素不等待,没找到继续等待,超出时间报异常
- 显式等待:指定一个等待条件和最长等待时间,在这个时间判断等待条件是否满足,满足则返回,超时报异常
(10)前进后退
-
browser.back() 、browser.forward()
(11)cookies
- browser.add_cookie({'name':'name','pass':'pass'})
- browser.get_cookies() 、browser.delete_all_cookies()
(12)选项卡管理
- browser.excute_script('window.open()')
- browser.switch_to_window(browser.window_handles[0])
(13)异常处理
二、phantomjs
1、phantomjs:是个无界面浏览器;
2、说明:新版的 selenium 不再支持 phantomjs 了,替代的方法是用selenium加谷歌火狐的无头模式实现无界面浏览;