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

河南省城乡和建设厅网站5118网站怎么做的

河南省城乡和建设厅网站,5118网站怎么做的,新公司取名字大全免费,哪个网站可以做教师招聘题目1.鼠标定位操作鼠标悬停#xff0c;即当光标与其名称表示的元素重叠时触发的事件#xff0c;在 Selenium 中将键盘鼠标操作封装在 Action Chains 类中。Action Chains 类的主要应用场景为单击鼠标、双击鼠标、鼠标拖曳等。部分常用的方法使用分类如下#xff1a;• click(on…1.鼠标定位操作鼠标悬停即当光标与其名称表示的元素重叠时触发的事件在 Selenium 中将键盘鼠标操作封装在 Action Chains 类中。Action Chains 类的主要应用场景为单击鼠标、双击鼠标、鼠标拖曳等。部分常用的方法使用分类如下• click(on_elementNone)模拟鼠标单击操作。• click_and_hold(on_elementNone)模拟鼠标单击并且按住不放。• double_click(on_elementNone)模拟鼠标双击。• context_click(on_elementNone)模拟鼠标右击操作。• drag_and_drop(source,target)模拟鼠标拖曳。• drag_and_drop(source,xoffset,yoffset)模拟将目标拖曳到目标位置。• key_down(value,elementNone)模拟按住某个键实现快捷键操作。• key_up(value,elementNone)模拟松开某个键一般和 key_down 操作一起使用。• move_to_element(to_element)模拟将鼠标移到指定的某个页面元素。• move_to_element_with_offset(to_element,xoffset,yoffset)移动鼠标至指定的坐标。• perform()将之前一系列的 ActionChains 执行。• release(on_elementNone)释放按下的鼠标。接下来列举鼠标右击操作和鼠标双击操作两个实例。1鼠标右击操作实现右击/双击百度首页“新闻”超链接。代码如下# _*_ coding:utf-8 _*_name:zhangxingzai date:2023/2/16 form:《Selenium 3Python 3自动化测试项目实战》 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver import ActionChainsdriver webdriver.Firefox() # 打开百度 driver.get(https://www.baidu.com/) # 定位超链接‘新闻’ element driver.find_element(By.LINK_TEXT, 新闻) # 实现在新闻超链接上右击 ActionChains(driver).context_click(element).perform() # 实现用鼠标实现双击‘新闻’ ActionChains(driver).double_click(element).perform()2以百度首页设置为例使用“move_to_element”的方法鼠标即可悬停于元素设置from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver import ActionChainsdriver webdriver.Firefox() # 打开百度 driver.get(https://www.baidu.com/) # 通过id定位超链接‘设置’ setting driver.find_element(By.ID, s-usersetting-top) # 使用方法 move_to_element 模拟将鼠标悬停在超链接“设置”处 ActionChains(driver).move_to_element(setting).perform() # 定位超链接‘高级设置’并实现单击操作 driver.find_element(By.CLASS_NAME, set).click()实现效果如下2.Select 操作Web 页面中经常会遇到下拉框选项Select 模块提供了对标准 Select 下拉框的多种操作方法。打开百度单击“设置→高级设置”会出现一个 Select 下拉框如下图所示Select 元素的 HTML 代码如下图所示。接下来介绍 3 种选择 Select 元素的值的方法。Select 类用于定位select标签。select_by_value()通过 value 值定位下拉选项。select_by_visible_text()通过 text 值定位下拉选项。select_by_index()根据下拉选项的索引进行选择。第一个选项为 0第二个选项为 1。通过 WebDriver 代码操作下拉框代码如下from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains from selenium.webdriver.support.select import Selectdriver webdriver.Firefox() # 打开百度 driver.get(https://www.baidu.com/) # 定位超链接‘设置’ setting driver.find_element(By.ID, s-usersetting-top) # 使用方法 move_to_element 模拟将鼠标悬停在超链接“设置”处 ActionChains(driver).move_to_element(setting).perform() # 通过xpath定位超链接‘高级’并实现单击操作 driver.find_element(By.XPATH, //div/a[target_blank]/span).click() # 通过class定位选择‘全部时间’ search_time driver.find_element(By.CLASS_NAME, c-select-selection) # 通过 value 值定位下拉选项 Select(search_time).select_by_value(stf1676475129.442,1676561529.442|stftype1) # 通过 text 值定位下拉选项 Select(search_time).select_by_visible_text(最近一周)3.键盘操作前面介绍过send_keys()方法可以用来模拟键盘输入我们还可以用它来输入键盘上的按键甚至是组合键如 Ctrla、Ctrlc 等。经过总结以下为自动化测试中常用的键盘事件。• Keys.BACK_SPACE删除键。• Keys.SPACE空格键。• Keys.TABTab 键。• Keys.ESCAPE回退键。• Keys.ENTER回车键。• Keys.CONTROL,”a”组合键 Ctrl A。• Keys.CONTROL,”x”组合键 Ctrl X。• Keys.CONTROL,”v”组合键 Ctrl V。• Keys.CONTROL,”c”组合键 Ctrl C。• Keys.F1F1 键。• Keys.F12F12 键。用法举例如下方代码展示from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from time import sleepdriver webdriver.Firefox() # 打开百度 driver.get(https://www.baidu.com/) # 在输入框输入内容 driver.find_element(By.ID, kw).send_keys(selenium) # 删除多输入的一个 m driver.find_element(By.ID, kw).send_keys(Keys.BACK_SPACE) sleep(1) # 输入空格键“教程” driver.find_element(By.ID, kw).send_keys(Keys.SPACE) driver.find_element(By.ID, kw).send_keys(教程) sleep(1) # 输入组合键 Ctrla全选输入框内容 driver.find_element(By.ID, kw).send_keys(Keys.CONTROL, a) sleep(1) # 输入组合键 Ctrlx剪切输入框内容 driver.find_element(By.ID, kw).send_keys(Keys.CONTROL, x) sleep(1) # 输入组合键 Ctrlv粘贴内容到输入框 driver.find_element(By.ID, kw).send_keys(Keys.CONTROL, v) sleep(1) # 用回车键代替单击操作 driver.find_element(By.ID, su).send_keys(Keys.ENTER)4.利用 JavaScript 操作页面元素WebDiver 对部分浏览器上控件并不是直接支持的如浏览器右侧滚动条、副文本等而是通常借助 JavaScript 间接操作。WebDriver 提供了 execute_script()和 execute_async_scrip()两种方法来执行 JavaScript 代码其区别如下1execute_script 为同步执行且执行时间较短。WebDriver 会等待同步执行的结果然后执行后续代码。2execute_async_script 为异步执行且执行时间较长。WebDriver 不会等待异步执行代码的结果而是直接执行后续的代码。用于调整浏览器滚动条位置的 JavaScript 代码如下。!-- window.scrollTo(左边距,上边距); -- window.scrollTo(0,450);window.scrollTo()方法用于设置浏览器窗口滚动条的水平位置和垂直位置。第一个参数表示水平的左边距第二个参数表示垂直的上边距代码如下。from selenium import webdriver from selenium.webdriver.common.by import By from time import sleepdriver webdriver.Firefox() # 打开百度 driver.get(https://www.baidu.com/) # 设置浏览器窗口大小 driver.set_window_size(800, 700) driver.find_element(By.ID, kw).send_keys(selenium) driver.find_element(By.ID, su).click() sleep(3) # 通过 JavaScript 设置浏览器窗口的滚动条位置 js window.scrollTo(100,300) driver.execute_script(js)执行结果如下图所示5.获得验证信息在进行 Web 自动化测试中用得最多的几种验证信息是 title、current_url 和 text。title用于获取当前页面的标题。current_url用于获取当前页面的 URL。text用于获取当前页面的文本信息。下面仍以百度搜索为例对比搜索前后的信息。from selenium import webdriver from selenium.webdriver.common.by import By from time import sleepdriver webdriver.Firefox() driver.get(https://www.baidu.com/)print(Before search) # 打印当前页面 title title driver.title print(title: title)# 打印当前页面 URL now_url driver.current_url print(URL: now_url)driver.find_element(By.ID, kw).send_keys(selenium) driver.find_element(By.ID, su).click() sleep(3)print(After search) # 再次打印当前页面 title title driver.title print(title: title) # 再次打印当前页面 URL now_url driver.current_url print(URL: now_url)# 获取搜索结果条数 num driver.find_element(By.XPATH, //span[classhint_PIwZX c_font_2AD7M]).text print(result:num)运行结果如下通过上面的打印信息可以看出搜索前后的差异这些差异信息可以拿来作为自动化测试的断言点。6.设置元素等待WebDriver 提供了两种类型的元素等待显式等待和隐式等待。1显示等待显式等待是 WebDriver 等待某个条件成立则继续执行否则在达到最大时长时抛出超时异常TimeoutException。from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as ECdriver webdriver.Firefox() driver.get(https://www.baidu.com)element WebDriverWait(driver, 5, 0.5).until(EC.visibility_of_element_located((By.ID, kw))) element.send_keys(selenium)WebDriverWait 类是 WebDriver 提供的等待方法。在设置时间内默认每隔一段时间检测一次当前页面元素是否存在如果超过设置时间仍检测不到则抛出异常。具体格式如下。driver浏览器驱动。timeout最长超时时间默认以秒为单位。poll_frequency检测的间隔步长时间默认为 0.5s。ignored_exceptions超时后的异常信息默认情况下抛出 NoSuchElementException异常。WebDriverWait()一般与 until()或 until_not()方法配合使用下面是 until()和 until_not()方法的说明until(method, message″)调用该方法提供的驱动程序作为一个参数直到返回值为 True。until_not(method, message″)调用该方法提供的驱动程序作为一个参数直到返回值为 False。在本例中通过 as 关键字将 expected_conditions 重命名为 EC并调用 presence_of_element_located()方法判断元素是否存在。expected_conditions 类提供的预期条件判断方法如下图所示。除 expected_conditions 类提供的丰富的预期条件判断方法外还可以利用is_displayed()方法自己实现元素显示等待。from time import sleep, ctime from selenium import webdriver from selenium.webdriver.common.by import Bydriver webdriver.Firefox() driver.get(https://www.baidu.com) print(ctime())for i in range(10):try:el driver.find_element(By.ID, kw22)if el.is_displayed():breakexcept:passsleep(1) else:print(time out) print(ctime())相对来说这种方式更容易理解。首先 for 循环 10 次然后通过 is_displayed()方法循环判断元素是否可见。如果为 True则说明元素可见执行 break 跳出循环否则执行 sleep()休眠 1s 后继续循环判断。10 次循环结束后如果没有执行 break则执行 for 循环对应的else 语句打印“time out”信息。这里故意将 id 定位设置为“kw22”定位失败执行结果如下2隐式等待WebDriver 提供的 implicitly_wait()方法可用来实现隐式等待用法相对来说要简单得多。from time import ctime from selenium import webdriver from selenium.webdriver.common.by import By from selenium.common.exceptions import NoSuchElementExceptiondriver webdriver.Firefox() # 设置隐式等待为 10s driver.implicitly_wait(10) driver.get(https://www.baidu.com) try:print(ctime())driver.find_element(By.ID, kw22).send_keys(selenium) except NoSuchElementException as e:print(e) finally:print(ctime())implicitly_wait()的参数是时间单位为秒本例中设置的等待时间为 10s。首先这10s 并非一个固定的等待时间它并不影响脚本的执行速度。其次它会等待页面上的所有元素。当脚本执行到某个元素定位时如果元素存在则继续执行如果定位不到元素则它将以轮询的方式不断地判断元素是否存在。假设在第 6s 定位到了元素则继续执行若直到超出设置时间10s还没有定位到元素则抛出异常。这里同样故意将 id 定位设置为“kw22”定位失败执行结果如下7.警告框处理在 WebDriver 中处理 JavaScript 生成的 alert、confirm 和 prompt 十分简单具体做法是首先使用 switch_to.alert()方法定位然后使用 text、accept、dismiss、send_keys 等进行操作。text返回 alert、confirm、prompt 中的文字信息。accept()接受现有警告框。dismiss()解散现有警告框。send_keys()在警告框中输入文本如果可以输入的话。这里以百度搜索设置为例打开百度搜索设置设置完成后单击“保存设置”按钮可以使用 switch_to.alert()方法为百度搜索设置弹窗如下图所示代码如下from time import sleep from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver import ActionChainsdriver webdriver.Firefox() driver.get(https://www.baidu.com/) # 定位超链接‘设置’ setting driver.find_element(By.ID, s-usersetting-top) # 使用方法 move_to_element 模拟将鼠标悬停在超链接“设置”处 ActionChains(driver).move_to_element(setting).perform() # 通过class定位超链接‘搜索设置’并实现单击操作 driver.find_element(By.CLASS_NAME, set).click() # 通过xpath获取保存设置 driver.find_element(By.XPATH, //a[classprefpanelgo setting-btn c-btn c-btn-primary]).click() sleep(3)# 获取警告框 alert driver.switch_to.alert # 获取警告框提示信息 alert_text alert.text print(alert_text) # 接取警告框 alert.accept()8.获取Cookie有时我们需要验证浏览器中的 Cookie 是否正确因为基于真实的 Cookie 是无法通过白盒测试和集成测试的。WebDriver 提供了操作 Cookie 的相关方法可以读取、添加和删除 Cookie。WebDriver 操作 Cookie 的方法如下get_cookies()获得所有 Cookie。get_cookie(name)返回字典中 key 为“name”的 Cookie。add_cookie(cookie_dict)添加 Cookie。delete_cookie(name,optionsString)删除名为 OpenString 的 Cookie。delete_all_cookies()删除所有 Cookie。下面通过 get_cookies()获取当前浏览器的所有 Cookie。代码如下from selenium import webdriverdriver webdriver.Firefox() driver.get(https://www.baidu.com/) # 获得所有 Cookie 信息并打印 cookie driver.get_cookies() print(cookie)执行结果如下从执行结果可以看出Cookie 中的数据是以字典形式存放的。知道了 Cookie 中数据的存放形式后即可按照这种形式向浏览器中添加 Cookie。from selenium import webdriverdriver webdriver.Firefox() driver.get(https://www.baidu.com/)# 添加 Cookie 信息 driver.add_cookie({name: foo, value: bar}) # 遍历指定的 Cookies for cookie in driver.get_cookies():print(%s - %s % (cookie[name], cookie[value]))执行结果如下从执行结果可以看出最后一条 Cookie 是在脚本执行过程中通过 add_cookie()方法添加的。通过遍历得到所有的 Cookie从而找到字典中 key 为“name”和“value”的 Cookie值。delete_cookie() 和 delete_all_cookies() 方法的使用也很简单前者通过 name 删除一个指定的 Cookie后者直接删除浏览器中的所有 Cookies。9.窗口截图自动化测试用例是由程序执行的因此有时候打印的错误信息不够直观。如果在脚本执行出错时能够对当前窗口进行截图并保存那么通过截图就可以非常直观地看到脚本出错的原因。WebDriver 提供了截图函数 save_screenshot ()可用来截取当前窗口。from time import sleep from selenium import webdriverdriver webdriver.Firefox() driver.get(https://www.baidu.com/) sleep(3)# 截取当前窗口指定截图图片的保存位置 driver.save_screenshot(D:/baidu_img.png)WebDriver 建议使用 png 作为图片的后缀名。脚本运行完成后会在D盘根目录下生成 baidu_img.png 图片这样我们就学习完大部分Selenium 的特殊元素操作方法了读者可以掌握 Selenium 的常用方法包括熟悉每种方法使用的场景或者前提条件。
http://www.w-s-a.com/news/965634/

相关文章:

  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设
  • 江西省住房和城乡建设网站合同管理系统
  • 网站建设质量保证福州网络推广
  • 高唐网站建设公司广州南站在哪个区
  • 广西柳州网站制作公司郴州网红打卡景点
  • 做网站要固定ip拍摄公司宣传片制作
  • 专业微网站电话号码做软件难吗
  • 邢台网站制作哪家强上海做网站设计
  • 大连网站建设外贸wordpress添加文章属性
  • 商城网站建设合同范本网上哪里可以免费学编程
  • 服务器公司网站博客wordpress怎么编辑
  • 网站建设网络推广柯西乡塘网站建设
  • 企业做网站需要多少钱企业资质查询系统官网
  • 网站建设需要知识百度统计数据
  • 自已如何做网站建设通网站会员共享密码
  • 做网站学习什么wordpress 文件夹
  • 前端移动网站开发wordpress图文混排
  • 企业网站建站那种好商城类网站怎么优化
  • 手机微网站怎么制作的网上找设计师
  • 网站建设包括哪些方面学校网站 建设
  • 贵阳网站优化公司建筑设计师用什么软件
  • 网站建设的小说静态网页模板免费网站
  • 芜湖建设厅官方网站wordpress自动设置缩略图
  • 推荐网站网页湛江网站建设哪家优惠多