当前位置:   article > 正文

Selenium自动化测试,实现百度搜索_selenium测试百度

selenium测试百度

目录

一.安装selenium第三方库

二.安装浏览器驱动

三.配置驱动器环境变量 

1.项目环境变量

2.系统环境变量配置

四.项目实战

五.完整代码

 


一.安装selenium第三方库

使用pip安装第三方库selenium,直接使用pip安装第三方库,速度会比较慢,可以使用国内的源下载安装。这样速度会比较快。

pip install selenium

使用源安装第三方库selenium,这里我使用清华源做示例:

 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple


二.安装浏览器驱动

驱动下载链接:

http://chromedriver.storage.googleapis.com/index.html

不同的谷歌浏览器版本,必须选择与浏览器相对应的版本 


打开gogle谷歌浏览器,查看你的浏览器版本,点击右上角的三个点,打开下拉菜单,并点击设置。 

 进入设置见面后,点击关于Chrome,浏览器一定要下载对应的版本,不然不能使用


三.配置驱动器环境变量 

1.项目环境变量

创建项目,项目创建完成后将下载好的驱动器放入项目文件夹内。


2.系统环境变量配置

点击此电脑,点击属性

 进入系统设置,选择高级系统设置。

进入界面,点击环境变量,配置环境变量。环境变量分为两种,一种是用户变量,一种是系统变量,用户变量和系统变量区别不大,同样都可以同,唯一的一点就是用户变量只能在该用户下使用,而系统变量,不同的用户都可以使用。 环境变量配置完成后,部分电脑需要重启IDE,或关机重启。使用代码进行测试。看环境变量是否被调用。

  1. from selenuim import webdriver
  2. import time
  3. driver = webdriver.Chrome()
  4. driver.get('http://www.baidu.com')
  5. #等待3秒后自动关闭
  6. time.sleep(3)
  7. driver.quit()

 使用代码正常打开百度后关闭,证明配置的环境变量可以正常使用了。

这两种配置区别不大,关键在于,系统环境变量配置后,创建新项目时不需要频繁的去配置驱动。相对来说,直接配置项目环境也比较简单,没那么麻烦。


四.项目实战

1.新建项目,创建python文件,导入三个包。


2.包导入后就可以编译自动操作代码了。打开百度网页操作。获取百度网页链,打开谷歌浏览器,在网址栏输入“www.baidu.com” 搜索。并将完整的网页链接复制下来。

查看网页请求方式,网页的请求方式分为两种“get \ host” 。那么该如何查看呢。按键盘的F12,不同的电脑打开的方式也不一样,大部分的电脑都是F12。

 

 获取完请求方式后,就可以编辑代码实现打开网页操作了。

  1. host = webdriver.Chrome()
  2. host.get("https://www.baidu.com") # 打开百度

这个就是自动打开网页操作代码。


3.在输入框内输入需要搜索的内容

首先我们需要找到搜索框的XPATH。

 

将ID里面的value值复制下来。 在这里我使用ID查找,因为在网页内,ID是唯一值,恒容易找到

  1. # 找输入框
  2. wd = host.find_element(by=By.NAME, value='wd')
  3. # 输入对应的数据
  4. ActionChains(host).move_to_element(wd).send_keys("123456").perform()

优化后代码

  1. # 找输入框,并输入
  2. host.find_element(By.NAME,'wd').send_keys("123456")

       这个时候就可以在网页搜索框内输入需要的内容了,但是光是这一步还不够,正常的访问网页方式是,输入搜索内容,在点击搜索,最后网页才会返回搜索内容。没错,这里还差最后一步,点击搜索按钮操作。


4.同样的,我们需要找到搜索按钮的位置,用我们的代码去点击它。

同样的我们也使用网页的ID来做索引。

  1. # 找"百度一下"按钮
  2. su = host.find_element(by=By.ID, value='su')
  3. # 执行点击操作
  4. ActionChains(host).click(su).perform()

 优化后代码

  1. # 找"百度一下"按钮.并点击
  2. host.find_element(By.ID, 'su').click()

现在我么就实现了,使用代码打开百度,并搜索的自动化操作。


五.完整代码

  1. # 打开某网页
  2. from selenium import webdriver
  3. # 在网页上执行某操作
  4. from selenium.webdriver import ActionChains
  5. # 获取网页数据
  6. from selenium.webdriver.common.by import By
  7. host = webdriver.Chrome()
  8. host.get("https://www.baidu.com") # 打开百度
  9. # 找输入框
  10. wd = host.find_element(by=By.NAME, value='wd')
  11. # 输入对应的数据
  12. ActionChains(host).move_to_element(wd).send_keys("123456").perform()
  13. # 找"百度一下"按钮
  14. su = host.find_element(by=By.ID, value='su')
  15. # 执行点击操作
  16. ActionChains(host).click(su).perform()
  17. """
  18. move_to_element()鼠标在标签位置停留
  19. send_keys()在框内输入搜索内容
  20. perform()执行操作,这是关键点,如果没有该操作前面的代码就不会执行相应的操作。
  21. click()点击操作,相当与鼠标的单击
  22. find_element()括号内是标签的地址,相当与XPATH表达式
  23. find_element有多种用法,有ID,XPTATH,CLASS_NAME等多种表达式,这些必须使用英文大写,不然会报错
  24. """

 优化后代码

  1. # 打开某网页
  2. from selenium import webdriver
  3. # 在网页上执行某操作
  4. from selenium.webdriver import ActionChains
  5. # 获取网页数据
  6. from selenium.webdriver.common.by import By
  7. host = webdriver.Chrome()
  8. host.get("https://www.baidu.com") # 打开百度
  9. # 找输入框输入对应的数据
  10. host.find_element(By.NAME, 'wd').send_keys("123456")
  11. # 找"百度一下"按钮,执行点击操作
  12. host.find_element(By.ID, 'su').click()
  13. """
  14. send_keys为输入
  15. click未模拟点击操作
  16. """

 在Selenium中的用处不仅仅是这些还有很多方法,这里就不一一讲解了,感谢大家的支持。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/768234
推荐阅读
  

闽ICP备14008679号