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

网站自己做还是找人做wap浏览器网页版

网站自己做还是找人做,wap浏览器网页版,深圳住房和城乡建设局网站,企业网站ui设计特点#xff1a; 针对具体元素进行时间等待 可以自定义等待时长和间隔时间 按照设定的时间#xff0c;不断定位元素#xff0c;定位到了直接执行下一步操作 如在设定时间内没定位到元素#xff0c;则报错#xff08;TimeOutException#xff09; 显示等待概念#x…特点 针对具体元素进行时间等待 可以自定义等待时长和间隔时间 按照设定的时间不断定位元素定位到了直接执行下一步操作 如在设定时间内没定位到元素则报错TimeOutException 显示等待概念 设置一个等待时间和一个条件在规定时间内每隔一段时间查看下条件是否成立如果成立那么程序就继续执行否则就提示一个超时异常TimeoutException。 在使用显示等待时需要结合Selenium的WebDriverWait和expected_conditions模块来实现。 WebDriverWait负责等待的设置expected_conditions模块提供了一系列常用的条件可以根据具体的需求选择合适的条件 需要导入两个包 # 导入selenium模块中的WebDriverWait类用于等待特定条件出现后再执行下一步操作 from selenium.webdriver.support.ui import WebDriverWait# 导入selenium模块中的expected_conditions模块的EC别名用于定义预期条件 from selenium.webdriver.support import expected_conditions as EC 使用步骤 1初始化WebDriverWait对象指定等待时间和浏览器驱动。       egwait WebDriverWait(driver, timeout3) 2调用until方法传入要等待的条件。      egwait.until(condition) 3condition条件通过expected_conditions as EC 调用指定条件      egwait.until(EC.condition) 3在until方法中会不断地轮询条件是否满足直到条件满足或超时时间到达。还有                 until_not()正好与until相反 4条件满足后继续执行后续代码。 5如果超过超时时间后仍未满足条件则抛出TimeoutException异常。 WebDriverWait参数说明 WebDriverWait(driver, timeout3).until(some_condition) driver浏览器驱动对象 timeout最长等待时间 轮询时间默认是以每500ms轮询一次也可以指定 .until(some_condition)调用until()方法并传递一个特定的条件some_condition。该方法将等待直到条件满足或超时时间达到 这里是一个使用until()方法的例子它等待页面标题包含特定文本 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC# 创建WebDriver实例并指定使用Chrome浏览器驱动 driver webdriver.Chrome()# 导航到菜鸟教程网页 driver.get(https://www.runoob.com/)# 显式等待直到页面标题包含“菜鸟教程” wait WebDriverWait(driver, 10) title_contains_runoob EC.title_contains(菜鸟教程) title wait.until(title_contains_runoob)# 输出页面标题 print(title)# 关闭浏览器 driver.quit() 这里是一个使用until_not()方法的例子它等待文本框中的值被清除 from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC# 创建WebDriver实例并指定使用Chrome浏览器驱动 driver webdriver.Chrome()# 导航到百度网页 driver.get(https://www.baidu.com)# 获取文本框元素并输入文本 input_elem driver.find_element(css selector, input[namewd]) input_elem.send_keys(python)# 显式等待直到文本框中的值被清除 wait WebDriverWait(driver, 10) value_cleared EC.text_to_be_present_in_element_value((css selector, input[namewd]), ) input_elem.clear() wait.until_not(value_cleared)# 关闭浏览器 driver.quit() expected_conditions as EC 条件方法 先导包 # 导入expected_conditions类并取别名为 EC from selenium.webdriver.support import expected_conditions as EC 条件1title_is 检查页面标题的期望。title是预期的标题必须完全匹配如果标题匹配则返回True否则返回false。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium import webdriver# 实例化驱动对象 driver webdriver.Chrome() driver.get(http://shop.aircheng.com/simple/login)# 显示等待 页面标题 # 等待10s wait WebDriverWait(driver, 5) # 获取页面标题 title driver.title # 用户登录 - iWebShop商城演示 # title预期标题 message提示消息 wait.until(EC.title_is(title用户登录 - iWebShop商城演示3), message标题不匹配)print(title)# 不匹配报错 D:\Scripts\python.exe D:\桌面\Hualenium_demo_6_1\demo9\显示等待2.py Traceback (most recent call last):File D:\桌面\HuaCe_Python\code_py\selenium_demo_6_1\demo9\显示等待2.py, line 15, in modulewait.until(EC.title_is(title用户登录 - iWebShop商城演示3), message标题不匹配)File D:\桌面\HuaCe_Python\code_py\selenium_demo_6_1\venv\lib\site-packages\selenium\webdriver\support\wait.py, line 105, in untilraise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message: 标题不匹配条件2title_contains 检查标题是否包含区分大小写的子字符串。title是所需的标题片段当标题匹配时返回True否则返回False 用法与title_is一样唯一区别就是 title_is是完全相等title_contains是包含 条件3presence_of_element_located 检查元素是否存在于页面。这并不一定意味着元素是可见的。定位器-用于查找元素找到WebElement后返回该WebElemen #导包 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium import webdriverclass Brouser:fox webdriver.Firefox()wait WebDriverWait(fox, 5)def get_url(self,url):self.fox.get(url)def presence_located(self,value,*ele):el self.wait.until(EC.presence_of_element_located(ele),message没有发现期望的元素)el.send_keys(value)if __name__ __main__:b Brouser()b.get_url(http://shop.aircheng.com/simple/login)b.presence_located(qingan,By.NAME,login_info)条件4visibility_of_element_located 检查元素是否存在于页面和可见。可见性意味着不仅显示元素但其高度和宽度也大于0。定位器-用于查找元素找到并可见WebElement后返回该WebElement 用法与presence_of_element_located一样唯一区别就是 visibility_of_element_located检查元素是否出现元素为可见或不可见presence_of_element_located检查元素是否出现元素必须为可见 条件5url_to_be 检查当前url的期望值。url是预期的url必须完全匹配。如果url匹配则返回True否则返回false from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium import webdriverclass Brouser:fox webdriver.Firefox()wait WebDriverWait(fox, 5)def get_url(self,url):self.fox.get(url)def url_be(self,url):self.wait.until(EC.url_to_be(url))if __name__ __main__:b Brouser()b.get_url(http://shop.aircheng.com/simple/login)b.url_be(http://shop.aircheng.com/simple/login)判断url还有另外的几种方式都大同小异 url_matches: 检查当前url的期望值。pattern是预期的模式必须是完全匹配的如果url匹配则返回True否则返回false。url_contains: 检查当前url是否包含区分大小写的子字符串。url是所需url的片段url匹配时返回True否则返回Falseurl_changes : 检查当前url的期望值。url是预期的url不能完全匹配如果url不同则返回True否则返回false。 条件6visibility_of 检查已知存在于页面的DOM是可见的。可见性意味着元素不仅仅是显示但高度和宽度也大于0。元素是WebElement在WebElement可见时返回相同的WebElement from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium import webdriverclass Brouser:fox webdriver.Firefox()wait WebDriverWait(fox, 5)def get_url(self,url):self.fox.get(url)def visibility_(self,*ele):el self.wait.until(EC.visibility_of(self.fox.find_element(*ele)))el.click()if __name__ __main__:b Brouser()b.get_url(http://shop.aircheng.com/simple/login)b.visibility_(By.NAME, remember)这里值得注意的是 visibility_of_element_located跟visibility_of很类似。与上面的写法不同EC.visibility_of里面写的是定位而非单纯的元素。这也是一个区别点。在后续的使用中注意一下。 代码示例1 需求等待页面出现标题# 创建WebDriver实例 driver webdriver.Chrome()# 导航到网页 driver.get(https://www.csdn.net)# 等待页面标题包含CSDN wait WebDriverWait(driver, 5) title_contains_csdn EC.title_contains(CSDN) wait.until(title_contains_csdn)# 输出页面标题 print(driver.title) 代码示例2 # 导包 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC# 默认是以每500ms轮询一次until中的条件传入的超时时间是10s WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID,kw))) # 设置每1s轮询一次until中的条件传入的超时时间是10s WebDriverWait(driver,10,1).until(EC.presence_of_element_located((By.ID,kw))) 自定义封装-显示等待 class BackLogin:classmethoddef wait(cls, driver, func):return WebDriverWait(driver, 5).until(func)# need_wait:形参代表默认值False不需要触发显示等待def find_element(self, by, value, driver, need_waitFalse):def f(driver):# 判断当前元素是否有文本属性if driver.find_element(by, value).text:msg driver.find_element(by, value).textif need_wait: # 是否触发隐式等待,返回实际提示信息结果return msgelse:return Trueelse:return True# 类中可以通过self对象调用类方法self.wait(driver, f)return driver.find_element(by, value) 调用 # 获取实际结果 msg BackLogin().find_element(*BackLogin.res_txt, driver,need_waitTrue).text print(msg) assert msg 验证码不能为空 参考博客Selenium 等待方式详解_selenium等待元素可见-CSDN博客 selenium--显示等待(中)--详解篇_presenceofelementlocated-CSDN博客
文章转载自:
http://www.morning.rhjsx.cn.gov.cn.rhjsx.cn
http://www.morning.wbdm.cn.gov.cn.wbdm.cn
http://www.morning.xuejitest.com.gov.cn.xuejitest.com
http://www.morning.rkrl.cn.gov.cn.rkrl.cn
http://www.morning.mrncd.cn.gov.cn.mrncd.cn
http://www.morning.jsrnf.cn.gov.cn.jsrnf.cn
http://www.morning.tdzxy.cn.gov.cn.tdzxy.cn
http://www.morning.fplwz.cn.gov.cn.fplwz.cn
http://www.morning.lgznc.cn.gov.cn.lgznc.cn
http://www.morning.jsljr.cn.gov.cn.jsljr.cn
http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn
http://www.morning.cyyhy.cn.gov.cn.cyyhy.cn
http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn
http://www.morning.qzpqp.cn.gov.cn.qzpqp.cn
http://www.morning.tqgx.cn.gov.cn.tqgx.cn
http://www.morning.mxhys.cn.gov.cn.mxhys.cn
http://www.morning.ycgrl.cn.gov.cn.ycgrl.cn
http://www.morning.qphgp.cn.gov.cn.qphgp.cn
http://www.morning.ns3nt8.cn.gov.cn.ns3nt8.cn
http://www.morning.gtxrw.cn.gov.cn.gtxrw.cn
http://www.morning.ggnjq.cn.gov.cn.ggnjq.cn
http://www.morning.jpwmk.cn.gov.cn.jpwmk.cn
http://www.morning.tnrdz.cn.gov.cn.tnrdz.cn
http://www.morning.ptmsk.cn.gov.cn.ptmsk.cn
http://www.morning.ljqd.cn.gov.cn.ljqd.cn
http://www.morning.pdynk.cn.gov.cn.pdynk.cn
http://www.morning.ctswj.cn.gov.cn.ctswj.cn
http://www.morning.ljbpk.cn.gov.cn.ljbpk.cn
http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn
http://www.morning.sldrd.cn.gov.cn.sldrd.cn
http://www.morning.glnfn.cn.gov.cn.glnfn.cn
http://www.morning.c7623.cn.gov.cn.c7623.cn
http://www.morning.rqnhf.cn.gov.cn.rqnhf.cn
http://www.morning.plqkz.cn.gov.cn.plqkz.cn
http://www.morning.zbkdm.cn.gov.cn.zbkdm.cn
http://www.morning.lgrkr.cn.gov.cn.lgrkr.cn
http://www.morning.rythy.cn.gov.cn.rythy.cn
http://www.morning.twwts.com.gov.cn.twwts.com
http://www.morning.srbfp.cn.gov.cn.srbfp.cn
http://www.morning.dyxlm.cn.gov.cn.dyxlm.cn
http://www.morning.kzdwt.cn.gov.cn.kzdwt.cn
http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn
http://www.morning.rfzbm.cn.gov.cn.rfzbm.cn
http://www.morning.nyfyq.cn.gov.cn.nyfyq.cn
http://www.morning.hdscx.cn.gov.cn.hdscx.cn
http://www.morning.cryb.cn.gov.cn.cryb.cn
http://www.morning.zsrdp.cn.gov.cn.zsrdp.cn
http://www.morning.lwtld.cn.gov.cn.lwtld.cn
http://www.morning.pjjkz.cn.gov.cn.pjjkz.cn
http://www.morning.wqbzt.cn.gov.cn.wqbzt.cn
http://www.morning.hxrg.cn.gov.cn.hxrg.cn
http://www.morning.qyfqx.cn.gov.cn.qyfqx.cn
http://www.morning.cklgf.cn.gov.cn.cklgf.cn
http://www.morning.zdzgf.cn.gov.cn.zdzgf.cn
http://www.morning.clbzy.cn.gov.cn.clbzy.cn
http://www.morning.tntgc.cn.gov.cn.tntgc.cn
http://www.morning.xnnpy.cn.gov.cn.xnnpy.cn
http://www.morning.dglszn.com.gov.cn.dglszn.com
http://www.morning.epeij.cn.gov.cn.epeij.cn
http://www.morning.tqbw.cn.gov.cn.tqbw.cn
http://www.morning.znmwb.cn.gov.cn.znmwb.cn
http://www.morning.kfldw.cn.gov.cn.kfldw.cn
http://www.morning.zwwhq.cn.gov.cn.zwwhq.cn
http://www.morning.dtzsm.cn.gov.cn.dtzsm.cn
http://www.morning.lqjlg.cn.gov.cn.lqjlg.cn
http://www.morning.yqpck.cn.gov.cn.yqpck.cn
http://www.morning.bfwk.cn.gov.cn.bfwk.cn
http://www.morning.xtqld.cn.gov.cn.xtqld.cn
http://www.morning.zybdj.cn.gov.cn.zybdj.cn
http://www.morning.iterlog.com.gov.cn.iterlog.com
http://www.morning.ntnml.cn.gov.cn.ntnml.cn
http://www.morning.zpqbh.cn.gov.cn.zpqbh.cn
http://www.morning.rqwmt.cn.gov.cn.rqwmt.cn
http://www.morning.qwbht.cn.gov.cn.qwbht.cn
http://www.morning.kcnjz.cn.gov.cn.kcnjz.cn
http://www.morning.mrxgm.cn.gov.cn.mrxgm.cn
http://www.morning.xltdh.cn.gov.cn.xltdh.cn
http://www.morning.lqgfm.cn.gov.cn.lqgfm.cn
http://www.morning.jtfcd.cn.gov.cn.jtfcd.cn
http://www.morning.rtlrz.cn.gov.cn.rtlrz.cn
http://www.tj-hxxt.cn/news/242214.html

相关文章:

  • 公司网站不用了如何注销网站建设基于
  • 网络品牌网站建设价格做精神科网站价格
  • 广州网站运营专业乐云seo网站建设 管理与维护试题
  • 如何做网站详细步骤图太原建立网站
  • 专业的集团网站开发免费图标下载网站
  • 怎么推广产品最有效seo营销论文
  • 网站 不备案动漫设计与制作好学吗
  • 做网站建网站公司网页qq小游戏
  • 零基础建设网站教程网上做网站网站
  • 免费隐私网站推广app网站自助搭建
  • 上海计算机网页制作苏州网站搜索引擎优化
  • 网站建设流程教程东莞做网站软件
  • 等保二级网站建设方案罗定城乡建设局网站
  • 网站建设 美词原创网络架构设计方案
  • 小说类网站功能建设女装标题优化关键词
  • 福建中兴建设有限公司网站html5 ASP 演示网站
  • 外贸网站推广多少费用炒股软件排名
  • 云建站网址做婚恋网站赚钱吗
  • 企业网站建设有哪些好处安徽合肥网络营销哪家好
  • 网站后台使用说明网站备案是一年一次吗
  • 王者荣耀网站建设的步骤个人怎么做百度竞价
  • 合肥seo网站排名o2o平台信息表格
  • 大庆网站建设黑icp备1900wordpress模板 极简
  • 京东云服务器怎么做网站做网站用盗版PS
  • seo做什么网站赚钱建设一个网站平台需要哪些技术员
  • 简单的个人主页网站制作wordpress带数据
  • 丰县数据网站建设多少钱做物流的网站
  • 寿光做网站制作公众号流程
  • 网站排名提升工具网络公司怎么做网站
  • WordPress调用画廊广州网站优化渠道