web测试中Selenium的使用

Selenium是一个web测试的工具,支持多个浏览器。

发展历史

了解一款工具,最好是了解一下其是怎么研发出来的。百度之后,了解到其最初是由Jason Huggins 用JavaScript语言编写的。之后又google团队发展,得到了很多公司和开发展的支持,是开源的。其官方网站:传送门
详细的发展历程:传送门

2004年,Thoughtworks的员工Jason Huggins编写了一个名为JavaScriptTestRunner的测试工具 ,并于当年向多位同事展示,该工具进一步进化为一个可以复用的测试框架并开源。 同时Bea, Dan Fabulich和Nelson、Sproul等人修改架构为独立服务模式,期间有多位开发人员加入开发并推出了Selenium RC和Selenium-IDE。 Jason Huggins 2007年从Thoughtworks离职并加入Selenium support团队,同年Google多名员工加入开发,并在GTAC [4] 会议上介绍了Selenium在Google的使用情况。Selenium是一个成功的开源软件,其发展获得很多公司和独立开发者的支持 。(来自百度)

使用方法

这里基于python3.7,windows系统和selenium3.1,Pycharm进行基本的使用介绍。
1.首先在Pycharm中下载Selenium包。
菜单栏file>settings>project>project interpreter,点击右上角的加号,搜索并安装包selenium。
2.安装浏览器驱动
如果Selenium想要调用一个浏览器,必须有对应的驱动器。
这里驱动器的版本需要和chrome版本对应。参考链接
我的chrome是83.0的,下载对应的chromedriver为83.0.4103.39。
驱动下载链接
将解压后的chromedriver.exe复制到Chrome浏览器安装目录。
C:\Users\Administrator\AppData\Local\google\Chrome\Application
同时复制到python安装目录下:C:\Users\Administrator\AppData\Local\Programs\Python\Python37目录下

3.配置环境变量
点击我的电脑》属性》系统设置》高级》环境变量》系统变量》Path
,在Path中添加C:\Users\Administrator\AppData\Local\google\Chrome\Application

4.编写代码,调用selenium
以下代码运行的时候会打开浏览器,打开百度网站。获取网站源码中的元素。

from selenium import webdriver
from selenium.webdriver.common.by import By


browser=webdriver.Chrome()
url="https:www.baidu.com"
browser.get(url)#打开浏览器预设网址
input1=browser.find_element(By.CSS_SELECTOR,'ul')
input2=browser.find_elements(By.CSS_SELECTOR,'li')
print(input1)
print(input2)
browser.close()#关闭浏览器

输出结果,返回对应的webElement对象
在这里插入图片描述

selenium常用函数说明

browser=webdriver.Chrome()

获取浏览器驱动对象

browser.get(url)

通过get方法打开浏览器预设网址

source=browser.page_source

获取页面的源码

input_id = browser.find_element_by_id('id')
input_css = browser.find_element_by_css_selector('#q')

通过id选择器和css选择器获得Dom

find_element_by_name
find_element_by_id
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

常用的一些选择元素的方法

find_elements

上面是取得多个元素的代码,很好理解就是在以前选择元素的方法上加s。例如find_elements_by_name

input3=browser.find_element(By.CSS_SELECTOR,"#kw")
button=browser.find_element(By.CSS_SELECTOR,"#su")
input3.send_keys("朱一龙")
button.click()

输入框输入内容,点击按钮搜索。以上代码在百度搜索一个明星的名字,然后进行搜索。send_keys是常用的在输入框输入内容函数

browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')

execute_script()能够执行javascript脚本的代码。

result1=browser.find_element_by_tag_name("span")
result2=result1.find_element_by_class("p")

注意使用Webdriver对象找到的元素是整个页面的元素,也可以通过找到的元素,在该元素的范围内查找其他元素.

time.sleep(10)

time.sleep()是用来等待几秒,因为程序 执行的速度大于百度服务器返回结果的速度

browser.implicitly_wait(10)

实现隐式等待

参考:
Python Selenium库的使用
Selenium的基本使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值