selenium的学习

1  selenium英文原意是硒  在python中是一个自动化测试工具

测试按照不同得我分类  分为手动测试  或者自动测试     

黑盒测试或者白盒测试 

    selenium在python中的应用

selenium  可以完全模拟人,对浏览器操作,对动态数据进行获取 ,动态数据由代码生成,在页面的初始化过程中

是没有的,也无法获取  但是可以通过selenium进行获取

有些数据是需要进行登录后才能够获取的,比如说好友列表 评论  消费记录  登陆后获取cookie才能进行以上

操作,只要获取账号密码之后即可实现selenium代替登陆

    selenium的特点

由程序控制浏览器进行操作,而不是手动操作浏览器

程序控制浏览器进行操作的时候 ,速度回很慢,所以要谨慎使用selenium

使用selenium控制浏览器的时候需要下载浏览器对应的驱动程序

selenium为开源的免费的,但是更新速度没有浏览器快不是因为selenium的官网新速度慢而是浏览器

的更新速度太快了,需要selenium与浏览器之间的冠词

    引入selenium

在终端下输入pip install selenium

from selenium import  webdriver  引入selenium

    selenium的安装

geckodriver的下载

selenium的学习

Chromedriver的下载

selenium的学习

把下载好的文件解压到 D:\Python\Anaconda\Scripts  路径下即可 就已经安装成功了

2  selenium 的基本用法

是使用网页驱动来控制火狐浏览器的   通过驱动来执行指定的网页  创建这样一个对象

driver = webdriver.Firefox() 

selenium 提供了找到元素的方法find_element by XXXX

如果只是相对这些元素进行查找  定位 建议使用  xpath  或者css_selector

如果需要对找到的内容进行点击等操作

建议使用find_element by XXXX操作

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="kw"]

# 错误原因 代码执行速度太快 但是浏览器响应很慢 代码执行到这里的时候 浏览器里面的代码还没有加载完

所以报错,找不到指定的元素

driver.find_element_by_name('wd).send_keys('')

driver.find_element_by_tag_name('input').send_keys('')

通过样式选择器  #表示Id  .表示类名

driver.find_element_by_css_selsctor('#kw)

通过xpath语法定位一个元素

driver.find_element_by_xpath('//form[id =""form]/span/input[@id="kw"]')

通过连接找到元素

driver.find_element_by_link_text('贴吧')

点击登录

driver.find_element_by_value('').click()

清除文本框的内容

driver.find_element_by_name('username').clear()

driver.find_element_by_class_name('password').clear()

关闭驱动

driver.close()