selenium学习
- 是一个基于浏览器自动化的模块。它比requests模块的爬取效率低很多
- 帮我们便捷的爬取到页面中动态加载出来的数据
- 模拟登陆
1.安装: pip install selenium
2.下载对应的驱动程序 < 百度搜索谷歌驱动,就能找到,根据浏览器版本找到对应的驱动版本.版本不对应,会引发错误> 举例:http://chromedriver.storage.googleapis.com/index.html
百度搜索美女
[^1] 通过find系列的方法,定位到标签
[^2] 若window.navigator.webdriver的返回值为undifunde,则没有反sele机制
from selenium import webdriver
from time import sleep
#火狐浏览器用法
driver = webdriver.Firefox()
#谷歌浏览器用法
# driver = webdriver.Chrome(executable_path=‘./chromedriver.exe‘)
driver.get("https://www.baidu.com/")
sleep(1)
#find_element_by_id 定位 id=kw 的标签 ,send_keys 输入内容
driver.find_element_by_id(‘kw‘).send_keys(‘美女‘)
sleep(1)
# 定位 id=su 的标签, click 点击
driver.find_element_by_id(‘su‘).click()
sleep(1)
# find_elements_by_link_text 通过链接文本查找元素,click点击
driver.find_elements_by_link_text(‘美女_百度图片‘)[0].click()
sleep(1)
# 关闭浏览器
driver.quit()
# 关闭浏览器
列举常见的selenium模块的方法及其作用
- get(url)
- find系列的函数进行标签定位
- send_keys(‘key’)
- click()
- excute_script(‘jsCode’)注入 js 语句
- page_source #获取 htm 代码
- switch_to.frame(‘iframeID‘) #若节点被包含在iframes节点之中的,则必须使用switch_to进行frame的切换
- quite()
- save_screenshot()
- a = ActionChains(bro)
- a.click_and_hold(‘tag‘) #点击并按住
- tag.move_by_offset(x,y).perform() #根据坐标进行移动,perform 是立即执行