selenium

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 是立即执行

selenium

上一篇:检查密码复杂度的C#正则表达式


下一篇:Warning: [antdv: DatePicker] `value` provides invalidate moment time. If you want to set empty value、或TimePicker 时间选择框报waring