第二讲: 页面元素定位、操作
一、页面元素操作
web自动化测试其实就是通过模拟手工测试,我们现在要通过代码来实现测试,首先我们要知道要操作的对象在哪?然后再对其页面元素对象做什么样的操作?也就引出下面两个概念:
1、页面元素定位
2、selenium API (如:点击、选择、输入文本内容等)
二、页面8元素定位方式
1、id:在一个页面具有唯一性
2、name :常用来定位输入框
3、class_name:也比较常用,注意点:它的值中间如果有空格,是不能用的
4、link_text:文本链接定位
5、partial_link_text:通过部分文本内容链接定位
6、tag_name:
7、xpath:xpath表达式,后续主要通过这个方法来定位元素
8、css_selector:css表达式,与xpath表达式只需熟练掌握一种即可。推荐使用xpath
三、小案例:通过百度搜索“瓜牛强强”文本
具体如何定位?步骤:
1、打开浏览器,百度网页,按下F12或者在设置中打开开发者工具
2、通过做左上角的箭头,定位到“百度输入框”,获取该元素的一些属性信息,如:id="kw"
3、用同样的方法,定位到“百度一下”按钮的属性信息id="su"
4、上代码
# 导入包 import time from selenium import webdriver # 打开浏览器 driver = webdriver.Chrome() # 浏览器最大化 driver.maximize_window() # 打开一个网页 driver.get("http://www.baidu.com")# 打印当前的浏览器地址 # 通过id找到需要操作的元素(百度输入框):元素定位 baidu_Input_box = driver.find_element('id','kw') # 为了看到效果可以加个时间等待 time.sleep(1) # 对百度输入框,输入“瓜牛强强” baidu_Input_box.send_keys("瓜牛强强") # 通过id找到需要操作的元素(百度一下按钮):元素定位 baidu_button = driver.find_element('id','su') # 点击百度按钮 baidu_button.click() time.sleep(2) # 关闭整个浏览器,并且关闭驱动chromedriver driver.quit()
To be continue,点个关注,持续更新。。。