(一)自动化测试之selenium学习心得-选择元素的基本方法

selenium是自动化框架!!

安装了pyCharm,软件自带了chrom浏览器,导入selenium库,开始我的学习之旅哈

web页面中通过选择元素来操作页面,如何选择元素是重点!

1、通过元素id来选择元素


简单例子
from selenium import webdriver

# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

# 根据id选择元素,返回的是该元素对应的webElement对象
element = wd.find_element_by_id('kw')

# 通过webElement对象,就可以对页面元素进行操作
# 比如在搜索框中输入字符串
element.send_keys('小白学python ')

# 比如点击按钮进行查询
element = wd.find_element_by_id('su')
element.click()


2、根据 class属性 选择元素
from selenium import webdriver

# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

# 根据class属性找元素,返回的是一个列表
elements = wd.find_elements_by_class_name('animal')

for element in elements:
print(element.text)

3.根据 tag 名 选择元素
from selenium import webdriver

# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

# 根据tag名选择元素,返回的是一个列表
elements = wd.find_elements_by_tag_name('span')


# 取出列表中每个element对象,打印text属性值
for element in elements:
print(element.text)

4.通过WebElement 选择元素的方法选择元素

不仅 WebDriver对象有 选择元素 的方法, WebElement对象 也有选择元素的方法。

WebElement对象 也可以调用 find_elements_by_xxx, find_element_by_xxx 之类的方法

WebDriver 对象 选择元素的范围是 整个 web页面, 而

WebElement 对象 选择元素的范围是 该元素的内部。

from selenium import webdriver

# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

element = wd.find_element_by_id('container')

# webDriver对象选择元素的范围是整个web页面
# webElement对象选择元素范围在该元素范围内部
spans = element.find_elements_by_tag_name('span')
for span in spans:
print(span.text)

5.等待界面元素出现
from selenium import webdriver
import time

# 等待界面元素出现

# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome()
# 设置最大等待时长10s 隐式等待,缺省等待
wd.implicitly_wait(10)

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

text_element = wd.find_element_by_id('kw')
text_element.send_keys('小白学python')

button_element = wd.find_element_by_id('su')
button_element.click()

# id为1的元素,搜索的第一个结果
sech_element = wd.find_element_by_id('1')

print(sech_element.text)


posted @ 2021-03-10 10:14  糖糖来迟  阅读(295)  评论(0)    收藏  举报