Time will tell.

基于windows操作系统

1、环境配置

(1)执行下面的命令(如果还没有python环境的可以参考以前发的文章)

pip install -U selenium

(2)网址:http://docs.seleniumhq.org/download/

  • 下载Mozilla GeckoDriver(因为用的火狐,所以下载了这个),解压后放到任意目录下,然后在系统变量path中加上解压后的路径

(3)之后如果创建浏览器驱动实例还是报错的话(可能是浏览器版本的问题,我python3.6+selenium3.9+火狐47+Mozilla GeckoDriverV0.19.1会报错,火狐换成58就不会)

2、案例


#导入webdriver
from selenium import webdriver
#FirefoxBinary--导入2进制文件所在的位置
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

#指定火狐浏览器的二进制路径
firefox = FirefoxBinary(r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe")
#创建火狐浏览器的驱动实例
driver = webdriver.Firefox(firefox_binary=firefox) 
 
driver.implicitly_wait(2) #设置等待时间(定义执行步骤的超时时间)
driver.maximize_window()  #最大化浏览器

#打开博客园首页
driver.get("https://www.cnblogs.com/") 

#通过id定位博客园首页的搜索框
search_field = driver.find_element_by_id('zzk_q') 

#通过class定位博客园首页的查询按钮
search_btn =driver.find_element_by_class_name('search_btn') 
 
search_field.clear() #清空搜索框的值(如果有)
search_field.send_keys("python") #在搜索框中输入查询条件
search_btn.click() #点击查询按钮 # search_field.submit()

#选取<h3><a>开始 ,</a>结束之间的值,返回一个列表
products = driver.find_elements_by_xpath('//h3[a/@target="_blank"]/a')

#迭代列表products,输出text的值
for p in products:
    print(p.text)

#选取<a target="_blank">节点的值,返回一个列表
pro = driver.find_elements_by_xpath('//h3/a[@target="_blank"]')

#迭代输出href属性的值
for p in pro:
    print(p.get_attribute('href'))
     
# 关闭浏览器
driver.quit() 

输出结果:

第二步骤中的xpth其实主要定位的就是这些:

好喽,以上是Selenium的一个开篇,如果你对Python自动化软件测试等更多内容感兴趣,在这里推荐一个学习资料分享群:175317069。有各项已整理好的测试学习资源,也有行业深潜多年的技术人分析讲解。

测试是一门技术,也是一门艺术。也许你今天拥有的技术,明天就会淘汰。我们需要开拓思维和眼界,积极拥抱变化,学习新知识、新方法、新技能、计算机领域讲究的是实践,学习更要讲究方式方法,学习和动手一定要结合。

最后希望看到这里的你终成为一名极具竞争力的高级测试工程师。

觉得还不错就【点赞】、【评论】、【关注】吧~

Time will tell.(时间会说明一切)

本文地址:https://blog.csdn.net/kami_ochin_akane/article/details/110448996