当前位置: 首页 > news >正文

建设考试的报名网站商城app定制

建设考试的报名网站,商城app定制,福州seo推广,建设工程查询系统目录 0. 上节回顾 1. 内置的等待条件 2. 元素属性 1. Python对象属性 2. HTML元素属性 3. 元素的交互 1. 输入框 2. 按钮 3. 单选框和复选框 0. 上节回顾 DEBUG的方式#xff1a;JS断点 Python断点编程语言提供的等待方式#xff1a;sleepselenium提供的等待方式JS断点 Python断点编程语言提供的等待方式sleepselenium提供的等待方式 隐式等待显式等待流畅等待 等待条件的要求 是一个函数接收一个参数webdriver对象的实例返回一个布尔值尽量不要出现异常 1. 内置的等待条件 selenium 内置了一些判断函数可用在需要的时候判断页面是否就绪 例如在 http://118.24.147.95:8086/flash.html 如果要点击按钮等待条件有2个 元素存在元素可用 with get_webdriver() as driver:driver.get(http://118.24.147.95:8086/flash.html)def f(_):# 1. 元素存在ele driver.find_element(By.XPATH, //*[idcontent]/input)if ele.is_enabled(): # 2.元素可用return Trueelse:return FalseWebDriverWait(driver, 10).until(f)ele driver.find_element(By.XPATH, //*[idcontent]/input)ele.click() 使用预期条件可用免去函数的定义过程 element_to_be_clickable 判断元素可见并且可点击alert_is_present 判断出现了alert 弹窗 with get_webdriver() as driver:driver.get(http://118.24.147.95:8086/flash.html)ele WebDriverWait(driver, 10).until(element_to_be_clickable((By.XPATH, //*[idcontent]/input)))ele.click() with get_webdriver() as driver:driver.get(http://118.24.147.95:8086/delay_alert.html)ele WebDriverWait(driver, 10).until(alert_is_present()) # 放入 等待条件ele.accept() # 对弹窗点击【确定】所有的内置等待条件需要加括号调用 调用之后返回一个函数用这个函数进行等待 2. 元素属性 元素的属性和交互主要对WebElement对象的交互 获取网页元素的信息方法WebElement对象的属性对网页元素进行交互 调用WebElement对象的方法 1. Python对象属性 with get_webdriver() as driver: driver.get(https://www.baidu.com/) # ele 是 WebElement 对象代表网页中的一个元素 ele driver.find_element(By.XPATH, //*[idkw]) ele_keys [ id, # 对象的ID tag_name, # 元素的标签 location, # 在页面中的位置x,y坐标 size, # 元素大小 rect, # 位置 大小 parent, # WebDriver 对象 ] for key in ele_keys: print(key) print(getattr(ele, key)) print(- * 20)2. HTML元素属性 input idkw namewd classs_ipt value maxlength255 autocompleteoff with get_webdriver() as driver:driver.get(https://www.baidu.com/)ele driver.find_element(By.XPATH, //*[idkw])att_keys [id,name,class,value,maxlength,autocomplete,]for att in att_keys:print(att:ele.get_attribute(att))print(- * 20) 问题 如何获取元素的HTML源码 print(ele.get_attribute(outerHTML)) # 通过特殊属性获取源码 如何获取浏览器的HTML源码 print(driver.page_source) # 获取网页源码 3. 元素的交互 不同的元素它支持的交互方式可能是不一样的所以要区别对待 1. 输入框 输入框有2中实现方式 input valueinput标签实现的输入框 textareatextarea标签实现的输入框/textarea 输入的交互方法 ele.clear() # 清除内容ele.send_keys(new content) # 输入内容ele.is_displayed()) # 是否显示ele.is_enabled()) # 是否可用 with get_webdriver() as driver:driver.get(file:///F:/pythonWorkspace/UI_P39_Selenium4/index.html)ele driver.find_element(By.XPATH, //input)ele.clear() # 清除内容ele.send_keys(new content) # 输入内容ele.is_displayed() # 是否显示ele.is_enabled() # 是否可用ele.screenshot(a.png) # 对元素进行截图 2. 按钮 按钮有多种实现方式 进行隐藏一下 a hrefjavascript:; onclickbtn_on_click(this)a标签实现的按钮/a hr / input typebutton onclickbtn_on_click(this) valueinput标签实现的按钮/ hr / button onclickbtn_on_click(this) button标签实现的按钮/button script function btn_on_click(event){ console.log(event); alert(你点到我了); } /script 按钮的交互方法 ele.click() # 鼠标 左键 单击ele.is_displayed()) # 是否显示ele.is_enabled()) # 是否可用 a hrefjavascript:; onclickbtn_on_click(this)a标签实现的按钮/a hr / input typebutton onclickbtn_on_click(this) valueinput标签实现的按钮 hiddentrue/ hr / button onclickbtn_on_click(this) disabledtrue button标签实现的按钮 /button script function btn_on_click(event){ console.log(event); alert(你点到我了); } /script with get_webdriver() as driver:driver.get(file:///F:/pythonWorkspace/UI_P39_Selenium4/index2.html)for tag_name in [a, input, button]:try:ele driver.find_element(By.XPATH, f//{tag_name})print(是否可见:, ele.is_displayed())print(是否可用:, ele.is_enabled())ele.click() # 点击按钮# 按钮被禁用的时候click 没有报错但其实也是点击失败driver.switch_to.alert.accept() # 处理弹窗except Exception as e:print(e)print(交互失败)print(- * 20) 在selenium 中使用JS进行元素点击 ele.click() # selenium 提供 点击按钮driver.execute_script(return arguments[0].click(), ele) # js 进行点击 对于被遮挡的元素selenium的点击可能会失败这时候换成js代码 如点一下 个人中心 遮挡 登录按钮  with get_webdriver() as driver:driver.get(http://101.34.221.219:8010/)# 出现遮挡driver.find_element(By.XPATH, /html/body/div[2]/div/ul[2]/div[1]/div/a).click()# 点击登录按钮ele driver.find_element(By.XPATH, /html/body/div[2]/div/ul[1]/div/div/a[1])# ele.click() # 预期失败driver.execute_script(return arguments[0].click(), ele) # 通过JS实现点击 不能点击的场景如下 手动不能点击 selenium不能点击 js代码不能点击 底层控制鼠标的移动和点击 如上图 手动能点击 但是页面被遮挡 selenium不能点击 如上图js代码不能点击 selenium点击元素的原理 定位元素找到元素 x,y坐标把鼠标移动 x,y坐标中心 可用手动调整坐标模拟真人操作按下鼠标 3. 单选框和复选框 单选框和复选框都是input标签实现的只是type不同 !--多选框 -- input typecheckbox namecheck_1 value1/ br input typecheckbox namecheck_1 value2/ hr/ !--单选框 -- input typeradio namecheck_2/ input typeradio namecheck_2 / 单选复选框的交互方法 ele.click() # 鼠标 左键 单击ele.is_displayed()) # 是否显示ele.is_enabled()) # 是否可用ele.is_selected() # 本元素是否被选中 with get_webdriver() as driver:driver.get(file:///F:/pythonWorkspace/UI_P39_Selenium4/index3.html)ele driver.find_element(By.XPATH, /html/body/input[1])print(是否选中, ele.is_selected())ele.click()print(是否选中, ele.is_selected()) 对于单选复选框来说click是【切换状态】如之前是选中点击之后反而是没选中 在点击之前建议 先判断状态
http://www.dnsts.com.cn/news/220540.html

相关文章:

  • html5网站 源码鼓楼网站seo搜索引擎优化
  • 企业网站托管趋势ssr网站开发
  • 上传网站到googlewordpress证书关闭
  • 站规划在网站建设中的作用机械行业营销型网站
  • 北京师范大学学风建设专题网站湛江房产网
  • 中国建设银行网站软件下载郑州建设高端网站
  • 找个人做网站的商标购买平台
  • 给企业做网站挣钱吗重庆百度提升优化
  • 北京网站推广的公司wordpress摘要字数
  • 营口网站建设价格全网推广平台有哪些
  • 电商网站的制作流程怎么做网站收录
  • 南昌做网站需要多少钱大型网页游戏有哪些
  • 网站建设广告词建网站需要什么资料
  • 建立网站需要什么硬件石狮建设银行网站
  • 如何建自己的个人网站wordpress 域名邮箱
  • 网站问卷调查怎么做如何改变网站首页栏目
  • 一个网站做两个优化可以做吗做办公设备网站
  • 响应式全屏网站怎样做外贸
  • 大同市建设工程招标投标网站燕莎网站建设
  • 高清的网站建设境外电商做的什么平台
  • 怎么找人帮做网站免费制作logo的软件
  • 网站文字重叠效果中国建设银行官方网站2018年年报
  • win7记事本做网站公司的网站的设计
  • 网站设计画布规范1680宜兴建设局 审图中心 网站
  • 白山市城乡建设局网站wordpress 页面模板 怎么用
  • 电信宽带做网站大连网站策划
  • 如何做网站系统网站建设重点步骤
  • 网站建设 体会搜索seo优化
  • ps做网站的视频大连承接网站制作
  • 网站demo要几个人做网站开发素材