isEnable() 和 isDisplayed() 和 isSelected()

isEnable()、isDisplayed()和isSelected()

1、以上三个为布尔类型的函数

2、isEnable用于存储input、select等元素的可编辑状态,可以编辑返回true,否则返回false

3、isDisplayed()这个有点陌生,在大神写的脚本看到几次不知道何用意先不管,本身这个函数用于

判断某个元素是否存在页面上(这里的存在不是肉眼看到的存在,而是html代码的存在。某些情况元

素的visibility为hidden或者display属性为none,我们在页面看不到但是实际是存在页面的一些元素)

4、isSelected(),很显然,这个是判断某个元素是否被选中。例如

   页面展示如下:

   isEnable()、isDisplayed()和isSelected()

html代码如下:

 


java判断元素是否被选中:

WebElement ele=driver.findElement(By.xpath("//*[@id='productAttributeType']/option[3]"));  //获得“数字”这个元素

Boolean flag=ele.isSelected();    //判断“数字”元素是否选中,将状态赋给flag

System.out.println("元素是否选中?"+flag);

 

打印结果:

元素是否选中?true

is_displayed和is_selected

is_displayed():判断元素是否显示

is_selected():判断元素是否选中状态

以百度登录为例,脚本验证登录页面“下次自动登录”默认勾选状态

 

代码实现

代码

# coding:utf-8
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get("https://www.baidu.com/")
browser.maximize_window()
time.sleep(1)
browser.find_element_by_xpath("//div[@id='u1']/a[@name='tj_login']").click()  # 找到登录按钮并点击
time.sleep(1)  # 这里必须要sleep一下,点击后,弹框显示有点儿延迟的,否则会导致定位不到元素,一般定位不到元素首先考虑加个睡眠时间试试
# is_displayed():判断元素是否显示,结果为一个布尔值,True或False
real_display = browser.find_element_by_id("TANGRAM__PSP_10__footerULoginBtn").is_displayed()
if real_display:
    browser.find_element_by_id("TANGRAM__PSP_10__footerULoginBtn").click()   # 在登录的弹框里点击用户名密码登录
    # is_selected():判断元素是否被选中,结果为一个布尔值,True或False
    if browser.find_element_by_xpath("//p[@id='TANGRAM__PSP_10__memberPassWrapper']/input").is_selected():
        print("默认已选中...")
    else:
        print("默认未选中...")

 

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值