selenium 的了解以及应用

selenium是一个强大的Python库,它可以控制浏览器打开、输入、点击等操作,就像是有一个真正的用户在操作一样
静态网页:就是单纯用HTML语言写出来的网页就是静态网页
动态网页:像类似于QQ音乐这种需要的数据不在HTML源代码中,而是在JSON中,在爬取的时候就需要找到JSON数据的真实url,这种
      就是动态网页

使用selenium时需要使用浏览器的驱动,如果使用谷歌浏览器的话,需要下载对应的或者是近似版本的谷歌驱动,谷歌驱动
下载网址:http://npm.taobao.org/mirrors/chromedriver/

1、使用selenium时,首先需要从selenium中导入webdriver函数,然后生成一个webdriver.Chrome()对象
   from selenium import webdriver
   driver=webdriver.Chrome()
2、生成webdriver.Chrome()对象之后开始使用get函数来打开需要获取数据的网页
   driver.get("网页网址")
3、中间是需要操作的代码
4、最后是关闭浏览器
   driver.close()

5、selenium模块用来提取数据的方法:
   find_element_by_id                通过元素的id值来选择
   find_element_by_class_name       通过元素的class来选择
   find_element_by_tag_name         通过元素的标签名[tag]来选择
   find_element_by_name            通过元素的name来选择
   find_element_by_partial_link_text  通过链接的部分文本来获取超链接
   find_element_by_link_text        通过链接的文本来获取超链接

                    

   find_element_by_与BeautifulSoup中的find类似,可以提取出网页中第一个符合要求的元素;
   既然BeautifulSoup有提取所有元素的方法find_all,selenium也同样有方法,方法很简单,把
   方法中的element修改为elements就行,比如find_element_by_id修改之后就是find_elements_by_id;

6、Selenium操作元素常用方法:
   .clear()         清除元素内的内容
   .send_keys()      模拟键盘输入,常用于自动填写表单
   .click()         模拟点击元素

7、WebElement与Tag的用法对比:
   WebElement.text                 Tag.text         获取文字
   WebElement.get_attribute()    Tag[]           带参数(属性名),可以获取属性值

8、selenium可以与BeautifulSoup一起合作来爬取需要的内容,在requests.get()获取网页之后在交给BeautifulSoup
之前需要使用.text来将网页转换为字符串,但是selenium里面不需要使用.text,直接使用page_source属性就可以,
等到获取到字符串的类型的源数据之后就可以使用BeautifulSoup来解析和提取数据了










  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值