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

怎么改网站内容wordpress app封装

怎么改网站内容,wordpress app封装,十堰秦楚网论坛十堰城事,信息技术课做网站目录 1. selenium的基本原理 2. selenium环境的搭建步骤 3. 元素的定位和操作 4.元素的基本属性方法 5.浏览器的操作方法 6.三种等待 强制等待 显示等待 隐式等待 7. 键盘与鼠标的操作 鼠标悬停用 拖拽操作 8. 下拉框元素定位 9.页面滚动操作 10. 页面截图操作 S…

目录

1. selenium的基本原理

2. selenium环境的搭建步骤

3. 元素的定位和操作

4.元素的基本属性方法

5.浏览器的操作方法

6.三种等待

强制等待

显示等待

隐式等待

7. 键盘与鼠标的操作

 鼠标悬停用

拖拽操作

8. 下拉框元素定位

9.页面滚动操作

10. 页面截图操作


Selenium是一个用于Web应用程序测试的工具,它提供了一套完整的工具来编写自动化Web应用程序的测试。Selenium测试脚本,并且可以模拟用户与浏览器的交互

1. selenium的基本原理

  1. WebDriver

    • WebDriver是Selenium的核心组件,它是一个接口,用于编写客户端程序来控制浏览器。

    • WebDriver可以启动浏览器实例,发送命令给浏览器,接收浏览器的响应。

    • WebDriver支持多种浏览器,包括Chrome、Firefox、Internet Explorer、Safari等。

  2. 定位元素

    • 通过各种策略(如id、name、class name、css selector、xpath等)定位页面上的元素。

    • 可以对定位单个元素或元素集合进行操作。

  3. 操作

    • 可以模拟用户操作,如点击、输入文本、拖拽等。

    • 可以获取和设置元素的属性和值。

  4. 等待

    • 隐式等待(Implicit Wait):WebDriver会在执行命令时自动等待元素可操作。

    • 显式等待(Explicit Wait):通过编写代码显式等待特定条件成立。

  5. 测试脚本

    • 用支持数据驱动测试,从外部文件或数据库读取测试数据。

    • 支持并发执行测试,可以同时运行多个测试脚本。

  6. 结果验证

    • 可以验证页面元素的状态,检查是否符合预期。

    • 支持断言(Assertions),验证测试结果是否符合预期。

2. selenium环境的搭建步骤

环境安装  pip install selenium

浏览器选择:支持多种浏览器

匹配规则:驱动版本与浏览器版本前三位必须一致,版本不匹配将导致代码无法运行

各版本驱动下载: chromedriver浏览器驱动各版本下载(...113、114、115、116、117、118、119、120、121、122、123、124、125、126、127、128、129、130、131、132、133、134、135、136、137、138、139、140)(原创) - Z哎呀 - 博客园

将下载驱动导入代码包中

import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.get("https://www.baidu.com/")#页面最大化
driver.maximize_window()time.sleep(3)
#关闭驱动对象
driver.quit()

3. 元素的定位和操作

  • ID定位:通过元素的id属性(最常用)
  • name定位:通过元素的name属性
  • class定位:通过元素的class属性(注意class可能有多个值)
  • 标签定位:通过标签名(不推荐,难以保证唯一性)
  • link_text:精准匹配超链接文本
  • partial_link_text:模糊匹配超链接文本
  • CSS选择器:通过CSS表达式定位
  • XPath:通过XML路径表达式定位
import timefrom selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.get("https://www.baidu.com/")#页面最大化
driver.maximize_window()#driver.find_element(By.ID,"kw").send_keys("李")#定位标签超链接的方式
#driver.find_element(By.LINK_TEXT,"新闻").click()
#模糊定位
#driver.find_element(By.PARTIAL_LINK_TEXT,"新").click()#Xpath定位
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys("cxk")time.sleep(3)
#关闭驱动对象
driver.quit()

4.元素的基本属性方法

5.浏览器的操作方法

#设置浏览器的分辨率(宽高)
driver.set_window_size(600,600)
#设置浏览器的相对位置
driver.set_window_position(100,600)
#浏览器的刷新
driver.refresh()
#浏览器的前进
driver.forward()
#浏览器的回退
driver.back()
#关闭浏览器的整个页面
driver.quit()
#关闭浏览器的当前页面
driver.close()
#页面标题
print(driver.title)
#页面当前网址
print(driver.current_url)

6.三种等待

强制等待

显示等待

导入模块

  1. 导入 WebDriverWait 类

    • WebDriverWait 类用于显式等待(Explicit Wait),它允许你指定一个条件,当该条件满足时继续执行脚本。这有助于处理页面加载或元素出现时的延迟问题。

  2. 导入 expected_conditions 模块

    • expected_conditions 模块包含一组预定义的条件,这些条件用于与 WebDriverWait 一起使用。这些条件定义了各种等待条件,如元素是否可见、是否可点击等。

from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

在设定时间内,不间断的时间点去定位元素

一旦元素被加载出来,就会被定位到元素,然后执行操作

如果在有效时间内没有定位到元素,那么程序会报错: 超时错误TimeoutException

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECdriver = webdriver.Chrome()driver.get("https://www.baidu.com/")#页面最大化
driver.maximize_window()#Xpath定位
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys("cxk")
driver.find_element(By.XPATH,'//*[@id="su"]').click()el1 = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.XPATH, '//*[@id="s_tab_inner"]/a[2]/span')))
el1.click()time.sleep(3)
#关闭驱动对象
driver.quit()

隐式等待

driver.implicitly_wait(3)
driver.find_element(By.XPATH,'//*[@id="s_tab_inner"]/a[2]/span')

元素第一次被定位的时候如果能够定位到,那么不会触发隐式等待,如果定位不到才会触发隐式等待的有效时间

可是设置隐式等待的有效时长,如果在有效时长里定位元素,那么不会报错,反之会报错提示,没有找到钙元素的异常: NoSuchElementException

7. 键盘与鼠标的操作

需要从webdriver包中导入Keys类

from selenium.webdriver.common.keys import Keys

输入"美女"文本:element1.send_keys("美女")
全选内容:element1.send_keys(Keys.CONTROL + 'a')
复制内容:element1.send_keys(Keys.CONTROL + 'c')
删除内容:element1.send_keys(Keys.BACKSPACE)
输入"帅哥"文本:element1.send_keys("帅哥")
再次全选:element1.send_keys(Keys.CONTROL + 'a')
粘贴内容:element1.send_keys(Keys.CONTROL + 'v')
清空内容:element1.clear()

常用鼠标操作方法

从selenium.webdriver导入ActionChains类,该类提供多种鼠标操作方法

  • 右击操作:使用context_click()方法,传入目标元素参数
  • 双击操作:使用double_click()方法,传入目标元素参

 鼠标悬停用

element = driver.find_element_by_id("element_id")  # 定位元素
ActionChains(driver).move_to_element(element).perform()  # 鼠标悬用到元素上

拖拽操作

从selenium.webdriver导入ActionChains类,该类提供多种鼠标操作方法

source = driver.find_element_by_id("source_id")  # 源元素
target = driver.find_element_by_id("target_id")  # 目标元素
ActionChains(driver).drag_and_drop(source, target).perform()  # 从源元素拖拽到目标元素

8. 下拉框元素定位

  • 首先需要创建Select类对象
  • 通过webdriver.support.select导入Select类
  • 传递要定位的下拉框元素对象(可通过xpath获取)
  • 索引定位:select_by_index(),下标从0开始
  • 文本定位:select_by_visible_text(),通过选项显示文本
  • 值定位:select_by_value(),通过选项的value属性值

9.页面滚动操作

通过JavaScript脚本执行滚动操作

  • 第一个参数控制左右滚动
  • 第二个参数控制上下滚动
  • 执行方法:driver.execute_script(js脚本)

10. 页面截图操作

方法:driver.get_screenshot_as_file()

仅支持PNG格式

11. 警告框

获取警告框元素

通过find_element和XPath定位警告框触发元素,对定位到的元素执行click()操作

  • 使用switch_to.alert切入警告框
  • 获取文本:通过alert对象的text属性获取提示信息
关闭警告框的方法

使用accept()方法模拟点击确定按钮

使用dismiss()方法模拟点击取消按钮

即使警告框界面上没有显示取消按钮,调用dismiss()方法仍可取消

输入型警告框处理

对于需要输入内容的警告框,使用send_keys()方法

12. 页面切换

http://www.dtcms.com/a/452209.html

相关文章:

  • 网站建设指导方案h5单页网站制作
  • 合肥移动网站建设国际新闻界
  • 优良网站广东莞业工程设计有限公司
  • 香蜜湖网站建设企业网站的推广方式
  • 网站登录后不显示内容wordpress 过滤get值
  • 多用户网站建设濮阳
  • 给视频做特效的网站网站开发和设计区别
  • 网站建设平台卜先明广州海珠建网站的公司
  • 门户网站开发使用什么语言做淘宝必备的网站
  • 手工艺品网站建设目的晋江外贸网站开发
  • 网站建设 销售 知乎无锡建设网站
  • 平面图设计网站vi设计公司报价
  • 帮人做彩票网站支付接口中国制造网登录
  • 网站做备案关停会显示什么条形码生成器在线制作二维码
  • 全屏展示网站图片如何做自适应怎么做购物领券网站
  • 网站开发找什么论文越野车网站模板
  • 网站建设要经历哪些步骤如何查询网站的备案信息查询
  • 网站如何备案流程图响应式网站是什么意思
  • 网站logo在线设计遵义公共资源交易中心电话
  • 个人网站建设方案书怎么写建网站免费吗
  • 网站建设课程设计格式网站建设主体是什么
  • 大庆哈尔滨网站建设html模板 多列展示模板
  • 凡科 360免费建站公司如何建立微网站
  • 平昌县建设局网站千锋教育和达内哪个好
  • 网站建设业务流程seo是什么的简称
  • 微网站在线制作网站建设谈单流程
  • 推广网站有哪些方式唐山最新消息今天
  • 做网站泰安cdr做图时怎么找到网站的
  • 关键词挖掘工具网站用asp做网站怎么布局
  • 东莞做网站公司安卓市场下载官网