1.8 selenium工具

课前说明:本章节请求的 url 部分用 ** 代替

本章节需要掌握的知识点:

selenium工具是使用。

介绍:

       selenium是一种用于web程序测试的工具,selenium测试的代码可以直接运行在浏览器中,就像真正的用户操作一样。

在写python爬虫的时候,主要是用 selenium 的 webdriver 来驱动浏览器进行相关的操作

本章节用到的浏览器为谷歌浏览器。

首先需要安装 chromedriver:谷歌浏览器驱动

加载方法如下:

       方法一:driver = webdriver.Chrome(r'/Users/fanjianbo/Desktop/chromedriver')

       方法二:把 chromedriver 的目录配成环境变量路径,然后:driver = webdriver.Chrome()

注意】chromedriver的版本要和chrome浏览器相对应,不然很多功能不能用 !!!

       下载操作谷歌浏览器驱动的页面:http://chromedriver.storage.googleapis.com/index.html

       或者http://npm.taobao.org/mirrors/chromedriver/2.37/

       谷歌驱动和谷歌浏览器版本之间的映射表:

       http://blog.csdn.net/huilan_same/article/details/51896672

查看谷歌浏览器版本:打开浏览器 -> 找到又上角的 “三点” 点击  -> 找到 “帮助” -> 关于 Google Chrome 点击即可查看当前版本

selenium示例:

from selenium import webdriver
from time import sleep


# 加载驱动文件
driver = r"/home/**/Downloads/chromedriver"
#  创建浏览器的驱动对象
browser = webdriver.Chrome(executable_path=driver)
# 用浏览器发起一个请求
browser.get('https://www.bai**.com')
# 点击页面上的某个标签
btn = browser.find_element_by_link_text('新闻')
# 睡眠1秒,注意:睡眠是非常必要的哦,防止请求过于频繁导致服务器奔了
sleep(1)
# 点击
btn.click()
sleep(1)
# 取出网页的源码,这个源码就是经过浏览器解析并且运行以后生成的html源码
html = browser.page_source
# print(html)
# 向输入框中输入内容
browser.find_element_by_id('ww').send_keys('木子李')
browser.find_element_by_id('s_btn_wr').click()
sleep(1)
muzili_html = browser.page_source
# 退出浏览器(要记得退出浏览器哦!)
browser.quit()

selenium中元素查找:

​ find_element_by_id()

​ find_element_by_name()

​ find_element_by_xpath()

​ find_element_by_tag_name()

​ find_element_by_class_name()

​ find_element_by_css_selector()

​ find_element_by_link_text()

注意:

  • find_element()只会查找页面符合条件的第一个节点,并返回;但是定位不到元素则会报错。
  • find_elements()查找多个元素并且返回一个列表,列表里的元素全是WebElement节点对象;当定位不到元素时不会报错,会返回一个空列表。

​ 事件

​ click() 点击

​ send_keys()

​ switch_to_alert()

 

 

 

温馨提示:多动手动脑才能记得住哦n(*≧▽≦*)n! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值