🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快
一、元素的常用操作
element.click() # 单击元素;除隐藏元素外,所有元素都可单击
element.submit() # 提交表单;可通过form表单元素提交表单
element.clear() # 清除元素的内容;如果可以的话
element.send_keys(‘需要输入的内容’) # 模拟按键输入;只针对支持输入的元素
注意:send_keys() 输入的内容必须为字符串
搜狗查询实例:
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.maximize_window() # 最大化
driver.get(r'https://www.sogou.com/') # 打开网页
driver.find_element_by_id('query').send_keys('selenium') # 搜索框输入selenium
time.sleep(2) # 等待3秒
driver.find_element_by_id('query').clear() # 清除搜索框内容
time.sleep(2)
driver.find_element_by_id('query').send_keys('selenium') # 重新输入内容
driver.find_element_by_id('sf').submit() # 提交搜索框的表单
# driver.find_element_by_id('stb').submit() # 提交按钮也可提交表单,单击按钮也可以
time.sleep(2)
driver.quit() # 关闭浏览器
注意:submit() 提交表单,可以是提交按钮,也可以是表单元素,也可以是输入框元素
二、元素的常用方法
element.location 返回元素的坐标字典(相对于网页左上角0,0开始)
element.text 获取元素的文本,页面上看得到的文本
element.get_attribute('属性名称') 获得元素的属性 强调“有”
element.get_property('属性名称') 获得元素的固有属性值 强调“专”
element.is_displayed() 返回元素的结果是否可见,有些元素肉眼可见,但是他是隐藏的
示例:
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.maximize_window() # 最大化
driver.get(r'https://www.sogou.com/') # 打开网页
driver.find_element_by_id('query').send_keys('selenium') # 搜索框输入selenium
element=driver.find_element_by_id('query')
print('搜索框的内容为:',element.get_attribute('value'))
print('搜索框的class属性:',element.get_attribute('class'))
print('搜索框的type属性:',element.get_attribute('type'))
print('搜索框的坐标位置:',element.location)
print('搜索框是否可操作:',element.is_displayed())
time.sleep(2)
text = driver.find_element_by_class_name('erwm-box').text # 获取二位码的文本
print('底部二维码的文本为:',text)
time.sleep(2)
driver.quit() # 关闭浏览器
1、element.location 获取元素的坐标位置
对于已加载到浏览器的底部元素,操作元素时现在chrome无法自动拖动滚动条,需要获取元素位置后,采用js拖动滚动条到相应位置采用操作元素。
2、element.text 获取元素的文本
<div class="erwm-box">
<span class="ewm"></span>
<div class="erwx">
<p>搜狗搜索APP</p>
<p class="p2">搜你所想</p>
</div>
</div>
如上,我们定位class="erwm-box"元素,获取到的文本是 [搜狗搜索APP 搜你所想] ,也就是界面上能看到的文字内容。输入框除外(输入框的值是存储在value属性中),只要是界面上的文本内容都可以获取。
多用于校验点。
3、element.get_attribute('属性名称') 获取对应的属性值,强调“有”
<input type="text" class="sec-input" name="query" id="query" maxlength="100" autocomplete="off">
如上搜索输入框的属性有type、class、name、id、maxlength、autocomplete;我都可以通过get_attribute()获取到他的值,因为他’有’。
value是特殊的属性,输入框,单项按钮,多选按钮多具有改属性。
4、element.get_property('属性名称') 获得元素的固有属性值,强调“专”
它与get_attribute() 差别,get_property()是获取元素的固有属性。
我们所有的元素都有特定固有属性,如id、type、value等。
当使用get_attribute()无法获取到属性的值时,可使用get_property()。
5、element.is_displayed() 判定改元素是否可见
当我们定位到了元素,但是无法操作时,可以看看他是否可见,不可见不一定就是在界面上消失了。
6、其他方法
element.size 元素的大小
element.is_enabled() 元素是否可用
element.is_selected() 元素是否被选中,用于检测复选框或单项按钮是否被勾选
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。