selenium判断按钮的状态


在实际测试中,我们会遇到某些按钮置灰的情况,如:手机号码注册时,未输入正确长度手机号时注册按钮会置灰,对应代码:

<button class="btn submit" disabled="" style="background: rgb(204, 204, 204);">下一步</button>

输入正确手机号码后,按钮变成可点击状态:


<button class="btn submit" style="background: rgb(51, 172, 55);">下一步</button>


此时判断按钮的点击状态用一句代码就能搞定:

        btnEle = self.driver.find_element_by_css_selector('div.p-b.t-c button')
        print("---------------请开始你的表演--------------")
        flag = btnEle.is_enabled()
        print(flag)
        print("---------------表演over--------------")
如上,判断元素的is_enabled()即可,返回值为bool值
Selenium 是一款流行的自动化测试工具,用于操作网页浏览器。当遇到页面有弹出框时,我们通常需要模拟用户的交互来处理这些情况。以下是使用 Selenium 判断和处理 JavaScript 弹出框的一些步骤: 1. **定位元素**: 首先,你需要找到触发弹出框的元素。这可以是一个按钮、链接或其他JavaScript事件相关的DOM元素。 ```python from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC element = driver.find_element_by_id('your_element_id') ``` 2. **启用等待**: Selenium 的 `WebDriverWait` 可以让我们等待特定条件满足,如元素存在或者变为可见。对于弹出框,我们可以等待某个特定元素出现,比如"OK"、"Cancel"按钮等。 ```python popup_locator = (By.XPATH, "//*[text()='确定']") wait = WebDriverWait(driver, 10) # 设置超时时间 popup_element = wait.until(EC.presence_of_element_located(popup_locator)) ``` 3. **模拟点击或交互**: 确定弹出框出现后,你可以模拟用户点击关闭按钮,例如“确定”、“关闭”。 ```python popup_element.click() ``` 4. **检查状态变化**: 如果需要确认弹出框已经关闭,可以再检查之前设置的条件是否依然成立。如果不再满足条件(如弹出框元素不存在),则表明它已经被关闭。 ```python assert not wait.until_not(EC.presence_of_element_located(popup_locator)), "Popup is still open" ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值