首页 > 其他分享 >selenium 元素 是否存在 是否选中 是否启用状态

selenium 元素 是否存在 是否选中 是否启用状态

时间:2023-09-28 16:25:56浏览次数:39  
标签:__ loc 是否 self driver flag 选中 find selenium

# 判断元素是否......


# 导包
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
# 定义类
class GetEle:
    def __init__(self,driver):
        self.driver=driver
    def get_e(self,loc):
        e=driver.find_element(By.CSS_SELECTOR,loc)
        print(e.text)
    def is_find(self,loc):
        flag=driver.find_element(By.CSS_SELECTOR,loc).is_displayed()
        print(fr"存在吗?:{flag}")
    def is_selec(self,loc):
        driver.find_element(By.CSS_SELECTOR,loc).click()
        sleep(3)
        flag=driver.find_element(By.CSS_SELECTOR,loc).is_selected()
        print(fr"被选中l吗?:{flag}")
    def is_en(self,loc):
        flag=driver.find_element(By.CSS_SELECTOR,loc).is_enabled()
        print(fr"启用状态码?:{flag}")

# 调用
if __name__ == '__main__':
    # 调用driver
    driver=webdriver.Chrome()
    # url
    url=r"D:\XXXX\myself\1.html"
    driver.get(url)
    # 实例化类
    web_e=GetEle(driver)
    # 调用方法1
    test_loc='[href="//www.runoob.com/web/web-buildingprimer.html"]>h4'
    # 调用方法2
    test_is_find_loc='p[hidden]'
    # 调用方法3
    loc3='#choose'
    # 调用方法4
    loc4='[type="button"]'
    web_e.is_en(loc4)
    # 退出
    driver.quit()

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DAY4</title>
</head>
<body>
     <p hidden>段落1</p><br>
     单选:<input type="radio" id="choose">
     <button type="button" disabled>按钮2</button>

</body>
</html>

 

标签:__,loc,是否,self,driver,flag,选中,find,selenium
From: https://www.cnblogs.com/haha1988/p/17736021.html

相关文章

  • selenium解决页面一直刷新,无法获取元素的问题
    这里的场景是页面一直在刷新,脚本处于等待中没有继续往下执行。百度之后,chrome之类的浏览器可以按esc停止刷新。适时手动按esc键盘,脚本往下继续执行。综上,启动了两个线程,一个线程执行_send_esc方法;另一个线程执行原始的tcpdump_go_stop方法。注意,页面要保持在前端展示deft......
  • 基于vue封装的Tag标签双击编辑单击选中可删除
    ......
  • vue3项目封装支持搜索,选中不可选,选中的数据项支持上下移动,删除的上下穿梭的树状穿梭框
     1,vue3代码1//这个是返回的所有的数据2constsourceItems=ref([])3//这是穿梭到下面的数据4consttargetItems=ref([])5//这是搜索字段6constsearchName=ref('')7//这两个要是后端返回,可不写8constex......
  • MYSQL 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:未将对
    一:中文提示:连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,错误信息:未将对象引用设置到对象的实例。DbType="MySql";ConfigId="".EnglishMessage:Connectionopenerror.未将对象引用设置到对象的实例。DbType="MySql";ConfigId="" 解决方法:在连接字......
  • js 检索数组对象中某个属性的值是否不相等
    //判断选中的项是否有不相同的模型consthasNameProperty=_this.selectedOrderList.filter(order=>order.hasOwnProperty("item_model_id"));if(hasNameProperty.length>0){constisEveryNameEqual=hasNameProperty.reduce((prev,curr)=>{if......
  • 向目标输入框输入值(WebDriverWait判断是否有该输入框)
    #导包fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromtimeimportsleepfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasEC#浏览器驱动driver=webdriver.Ch......
  • el-menu sidebar是否隐藏
    vue-element-admin  (git) 窗口宽度变化,菜单自动隐藏beforeMount(){window.addEventListener('resize',this.$_resizeHandler)},$_resizeHandler(){console.log('窗框宽度变化,这里执行了,window.addEventListener的使用')if(!document.hi......
  • Selenium进阶——解决web 自动化中上传文件的问题
    在做ui自动化测试中,经常会遇到上传文件或者图片的场景,通常的解决方案是自动化工具+autoIT,在这里我介绍一种通过jdk自带api——java.awt.Robot来解决类似问题的方法。java.awt.Robot类主要用于模拟用户点击键盘上的按键,或者模拟用户敲击鼠标等动作。在做web测试时,弹出窗口如下图所......
  • 干货!Playwright架构与Selenium 架构对比
    在Web测试自动化方面,Selenium多年来一直是行业的主导工具。但是,市场上还有许多其他自动化测试工具。Playwright是一种较新的工具,已经越来越受欢迎。网上有很多文章对二者进行对比,今天我从二者的架构角度进行一下对比分析!关于二者在其他方面的区别,我会在后面的文章中持续更新,......
  • 干货!一文搞定无头浏览器的概念以及在selenium中的应用
     无头浏览器无头浏览器,即HeadlessBrowser,是一种没有界面的浏览器。它拥有完整的浏览器内核,包括JavaScript解析引擎、渲染引擎等。与普通浏览器最大的不同是,无头浏览器执行过程中看不到运行的界面,但是我们依然可以用GUI测试框架的截图功能截取它执行中的页面。在这里强调一下......