selenium判断元素可点击、可见、可选

编程入门 行业动态 更新时间:2024-10-26 22:27:57

selenium判断元素可点击、可见、<a href=https://www.elefans.com/category/jswz/34/1770438.html style=可选"/>

selenium判断元素可点击、可见、可选

1、判断元素是否可以点击

判断元素是否可以点击,WebElement对象调用is_enabled()

is_enabled()方法返回一个布尔值,若可点击返回:True。若不可点击则返回:False

from selenium import webdriver
import time
from selenium.webdrivermon.by import By
driver = webdriver.Chrome()
# 打开百度
driver.get('/')
# 定位百度首页的地图按钮
elm = driver.find_element(By.XPATH,'//*[@id="s-top-left"]/a[3]')
# 判断元素是否可以点击
answer = elm.is_enabled()
print(answer)
time.sleep(3)
driver.quit()

执行结果:True,故可以点击

在实际测试中,会遇到某些按钮置灰的情况:

比如,登录场景,没有勾选协议,登录按钮处于置灰状态

对应代码:

<button data-v-2135d823="" type="button" class="confirm-btn disabled">登录</button>

勾选协议后,登录按钮变为可点击状态
对应代码:

<button data-v-2135d823="" type="button" class="confirm-btn">登录</button>

此时测试用例中就可以断言未勾选协议,按钮是否置灰

btnElm = driver.find_element(By.XPATH,'//div[@class='verify-phone']//button[contains(text(),'登录')]')
result = btnElm.is_enabled()
print(result)
assert not result   #未勾选协议,按钮应该灰显

2、判断元素是否可见

判断元素是否可见,WebElement对象调用is_displayed()
is_displayed()方法返回一个布尔值,若可见则返回:True。若不可见则返回:False

driver = webdriver.Chrome()
# 打开百度
driver.get('/')
# 定位百度首页的地图按钮
elm = driver.find_element(By.XPATH,'//*[@id="s-top-left"]/a[3]')
# 判断元素是否可见
answer = elm.is_displayed()
print(answer)
driver.quit()

执行结果:True,故可见

3、判断元素是否可被选中

判断元素是否被选中,WebElement对象调用is_selected()
is_selected()方法返回一个布尔值,若可见则返回:True。若不可见则返回:False

driver = webdriver.Chrome()
# 打开百度
driver.get('/')
# 定位百度首页的地图按钮
elm = driver.find_element(By.XPATH,'//*[@id="s-top-left"]/a[3]')
# 判断元素是否可选中
answer = elm.is_selected()
print(answer)
driver.quit()

执行结果:False,说明未被选中

总结:

1、元素若有is_enabled属性,则是不可点击,否则就是可点击

2、元素若有is_display:none属性,则是不可见的,否则就是可见的

3、元素若有selected属性,则是已被选择

更多推荐

selenium判断元素可点击、可见、可选

本文发布于:2023-12-03 12:40:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1655455.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:可选   元素   selenium

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!