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

东莞樟木头网站建设公司网站制作公司 深圳

东莞樟木头网站建设公司,网站制作公司 深圳,如何维护网站建设,织梦搬家 网站空白注#xff1a;显示等待和隐式等待不可混用 强制等待 让当前正在执行的代码线程暂停运行。 示例#xff1a;在电商网站的商品搜索页面#xff0c;等待 5 秒之后#xff0c;点击搜索按钮#xff0c;如果页面加载速度很快#xff0c;在 2 秒内生成#xff0c;那么还需要…注显示等待和隐式等待不可混用 强制等待 让当前正在执行的代码线程暂停运行。 示例在电商网站的商品搜索页面等待 5 秒之后点击搜索按钮如果页面加载速度很快在 2 秒内生成那么还需要等待 3 秒直到累计等待 5 秒才会继续执行但如果按钮生成时间超过 5 秒代码继续执行时就可能找不到按钮此时会抛出 NoSuchElementException 异常。 import timetry:# 打开商品搜索页面driver.get(https://www.example.com/search)# 强制等待5秒time.sleep(5)# 查找搜索按钮并点击driver.find_element(By.ID,search_button_id).click() except NoSuchElementException:print(按钮未找到请检查页面元素或等待时间是否合适。) 隐式等待 在 driver 初始化时设置了等待时间比如 5 秒在整个 driver 的生命周期内每次查找元素时它都会在设定的时间内不断地检查页面如果找到该元素则代码继续执行否则会抛出 NoSuchElementException 异常表示没有在规定时间找到该元素。 示例在电商网站的商品搜索页面输入关键词并点击搜索按钮如果在 5 秒内搜索框和搜索按钮成功加载并被找到代码就会顺利执行。但如果超过 5 秒还没找到就会抛出 NoSuchElementException 异常。 # 设置隐式等待5秒 driver.implicitly_wait(5)try:# 打开商品搜索页面driver.get(https://www.example.com/search)# 查找搜索框并输入关键词driver.find_element(By.ID,search_box_id).send_keys(手机)# 查找搜索按钮并点击driver.find_element(By.ID,search_button_id).click() except NoSuchElementException:print(页面元素未在规定时间内找到请检查页面或等待时间设置。) 显示等待 在规定时间内不断地检查元素是否满足特定条件一旦满足就立即执行后续操作如果在规定时间没有满足特定条件会抛出 TimeoutException 异常。 预置条件 等待元素可见 示例设置最大等待时间为 10 秒直到指定元素在页面上可见。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.element_to_be_clickable((By.ID,element_id)))等待元素不可见 例设置最大等待时间为 10 秒直到指定元素在页面上不可见。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.invisibility_of_element_located((By.ID,element_id))) 等待元素可点击 例设置最大等待时间为 10 秒直到指定元素变为可点击状态。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.element_to_be_clickable((By.ID,element_id))) 等待文本可见 例设置最大等待时间为 10 秒直到指定元素的文本可见。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.text_to_be_present_in_element((By.ID,element_id),Expected_Text)) 等待文本在元素里可见 例设置最大等待时间为 10 秒直到指定文本在元素的值中可见。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.text_to_be_present_in_element_value((By.ID,frame_id),Expected_Title)) 等待元素存在 例设置最大等待时间为 10 秒直到指定元素存在 DOM文档对象模型 中。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.presence_of_element_located((By.ID,element_id))) 等待元素消失 例设置最大等待时间为 10 秒直到指定元素从 DOM文档对象模型 中移除。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.staleness_of(driver.find_element(By.ID,element_id))) URL 包含 例设置最大等待时间为 10 秒直到当前 URL 包含某个特定字符串。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.url_contains(expected_substring)) 标题包含 例设置最大等待时间为 10 秒直到当前页面标题包含某个字符串。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.title_contains(Expected Title))) 窗口可见 例设置最大等待时间为 10 秒直到新窗口出现并可见。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.new_window_is_opened(driver.window_handles)) 等待切换iframe 例设置最大等待时间为 10 秒直到切换到某个 iframe 元素里。 from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import ByWebDriverWait(driver, timeout10).until(EC.frame_to_be_available_and_switch_to_it((By.ID,frame_id))) 高级 document.readyState 是表示当前网页状态的属性共有三个状态 loading文档正在加载这个阶段 HTML 结构正在被解析外部资源如样式表、脚本、图片等可能还在下载过程中。interactive文档已经完成解析DOM文档对象模型已经构建完成但是像图片、样式表、脚本等外部资源可能还没有完全加载完成。此时用户已经可以与页面进行交互了例如点击已经存在的 HTML 元素。complete页面的所有资源包括 HTML 结构、脚本、样式表、图片等都已经加载完成整个页面处于完全可用的状态。 设置检查条件的频率 示例总超时时间为 10 秒每 2 秒检查一次页面的 document.readyState 是否为 complete直到页面加载完成。 from selenium.webdriver.support.wait import WebDriverWaitWebDriverWait(driver, timeout10, poll_frequency2).until(lambda d: d.execute_script(return document.readyState) complete) 自动忽略特定异常进行等待 示例在等待特定元素时如果出现 NoSuchElementException 异常会自动忽略该异常继续等待直到找到元素或者超时时间到达。 from selenium.webdriver.support.wait import WebDriverWait from selenium.common.exceptions import NoSuchElementExceptionWebDriverWait(driver, timeout10, ignored_exceptions[NoSuchElementException]).until(lambda d: d.find_element(By.ID, element_id)) 自定义超时提示信息 示例在等待页面加载时如果 10 秒内未加载完成会捕获 TimeoutException 异常并打印自定义的超时消息。 from selenium.webdriver.support.wait import WebDriverWait from selenium.common.exceptions import TimeoutExceptiontry:WebDriverWait(driver, timeout10.until(lambda d: d.execute_script(return document.readyState) complete) except TimeoutException:print(页面加载超时请检查网络连接。)
http://www.w-s-a.com/news/67737/

相关文章:

  • 十堰百度网站建设八宝山做网站公司
  • 地区电商网站系统建筑施工图纸培训班
  • 网站外包维护一年多少钱医院网站 功能
  • 电子商务市场的发展前景seo推广平台服务
  • 乐清网页设计公司哪家好seo推广任务小结
  • 360建筑网是什么pc优化工具
  • 越秀免费网站建设风景区网站建设项目建设可行性
  • 网站建站公司一站式服务学校网站开发招标
  • asp.net mvc 5 网站开发之美电商网站 流程图
  • 室内设计素材网站推荐郑州专业做淘宝网站建设
  • 新建的网站怎么做seo优化模板规格尺寸及价格
  • 平湖网站设计做电子元器件销售什么网站好
  • 可视化网站模板我想建个网站网站怎么建域名
  • 达州网站建设qinsanw南京市建设发展集团有限公司网站
  • django 网站开发实例公司排行榜
  • 韩国做美食网站阳江网站建设 公司价格
  • 网站开发哪里接业务长春高端模板建站
  • 深圳网站制作公司方案dw一个完整网页的代码
  • asp手机网站源码下载做seo推广网站
  • 网站优化建议怎么写网站维护主要有哪些内容和方法
  • 建设网站需要钱吗网络推广加盟
  • 高清素材图片的网站泰安网签备案查询
  • 自助网站建设怎么建设房地产的最新政策
  • 企业网站 生成html网站侵权怎么做公证或证据保存
  • php 手机网站cms系统购物网站制作流程
  • 网络公司网站开发河北省城乡住房和建设厅网站
  • 做网站配置wordpress 中文api
  • 怎样把网站做的好看县蒙文网站建设汇报
  • 网站的优化什么做广西桂林新闻最新消息
  • 做网站准备什么软件搜索引擎广告推广