selenium 封装

【selenium】常用操作的封装 简介:总结整理selenium常用操作的封装,包括对元素操作的封装和页面基础操作封装,方便在写自动化用例时直接调用。 元素操作的封装 OperateElement.java import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; imp... 阅读详情

 

# selenium的api很多。常用操作进行封装,
from selenium import webdriver
class Common:
    def __init__(self):
        self.webdriver.Chrome()
        self.implicitly_wait(3)
        self.driver.maximize_window()

    def open_url(self,url):
        self.driver.get(url)
        self.implicitly_wait(10)

    #定位
    def locateElement(self,locate_type,value):
        e1=None
        if locate_type=='id':
            e1=self.driver.find_element_by_id(value)
        elif locate_type=='name':
            e1=self.driver.find_element_by_name(value)
        elif locate_type=='class_name':
            e1=self.driver.find_element_by_class_name(value)
        elif locate_type=='tag_name':
            e1=self.driver.find_element_by_tag_name(value)
        elif locate_type=='link_text':
            e1=self.driver.find_element_by_link_text(value)
        elif locate_type=='patial_link_text':
            e1=self.driver.find_element_by_patial_link_text(value)
        elif locate_type=='xpath':
            e1=self.driver.find_element_by_xpath(value)
        elif locate_type=='css_selector':
            e1=self.driver.find_element_by_css_selector(value)

        if e1 is not None:
            return e1
    #点击所定位到的元素
    def click(self,locate_type,value):
        e1=self.locateElement(locate_type,value)
        e1.click()

    #直接对定位到的元素进行文本输入
    def input_data(self,locate_type,value,data):
        e1=self.locateElement(locate_type,value)
        e1.send_keys(data)

    # 获取定位到的元素中的文本内容
    def get_text(self,locate_type,value):
        e1=self.locateElement(locate_type,value)
        return e1.text

    #获取定位到的标签属性
    def get_attr(self,locate_type,value,data):
        e1=self.locateElement(locate_type,value)
        return e1.get_attribute(data)

    def close_driver(self):
        self.driver.quit()

    #收尾清理工作
    def __del__(self):
        time.sleep(3)
        self.driver.quit()
if __name__=='__main__':
    com=Common()
    com.open_url('http://www.baidu.com')
    com.open_url('http://www.hao123.com')
    com.click('id','su')
    time.sleep(3)
    # com.close_driver()

 

【Milvus】实战指南:利用milvus-backup实现高效数据备份与恢复 本文详细介绍了如何利用官方工具milvus-backup为Milvus向量数据库实施高效的数据备份与恢复。文章从备份的必要性出发,逐步讲解了环境准备、配置要点、全量与按需备份操作,以及恢复数据的关键步骤和验证方法,旨在帮助用户构建可靠的数据安全防线,应对误操作或系统故障风险。 阅读详情

相关推荐

用废旧汽车电池DIY家用UPS:手把手教你低成本搭建Wi-Fi不断电系统

本文详细介绍了如何利用废旧汽车电池DIY低成本家用UPS系统,确保Wi-Fi设备在断电时持续供电。通过精选材料、电路搭建和安全防护,实现高效稳定的电源转换与智能切换,成本仅为市售UPS的三分之一。特别适合家庭办公和远程工作者提升网络供电可靠性。

weixin_29200485的博客 464

【Selenium】常用的Selenium基础使用模板和简单封装

本文介绍了在Selenium使用中的基础使用模板和简单封装。基础使用模板,针对隐藏chromedriver.exe驱动和隐藏Selenium特征做了通用适配,从此再也不用担心驱动出错和Selenium被网站发现的问题;简单封装,针对定位节点、点击节点、输入文本等操作做了封装,并且针对代码给出了详细的注释。优雅,实在是优雅!!!

苟日新,日日新,又日新!!! 2732

量子密钥分发系统设计与实现(一):系统基本架构讨论

本文主要对量子密钥分发系统中的基础架构和基于系统的量子密钥协商过程进行了初步讨论,为后期系列文章进行铺垫。

量子领域相关话题 3894

selenium基础类封装及调用(python)

import time from logger import logger from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as ec class SeleniumActionAPI: def __init__(self, driver): self.driver = driver def

jinwu18的博客 2738

Modbus4J vs EasyModbus4J:哪个Java库更适合你的工业项目?

本文深入对比了Java领域两大Modbus通信库Modbus4J与EasyModbus4J。Modbus4J设计稳健、类型安全,适合复杂业务集成;EasyModbus4J基于Netty,在高并发场景下性能更优。文章从架构、性能、API及生产环境多维度分析,为工业物联网项目选型提供决策依据。

weixin_28475533的博客 310

h5支付不能打开支付宝 ios_iOS支付宝H5支付无法返回APP解决方案

本文前大段在讲楼主是如何解决这个问题的,以及中间遇到的麻烦。赶时间的同学可以直接看最后的 最终解决方案。在讨论之前,我们先看看官方文档上的一句话:注意:在iOS系统中,唤起支付宝App支付完成后,不会自动回到浏览器或商户APP。用户可手工切回到浏览器或商户APP;支付宝H5收银台会自动跳转回商户return_url指定的页面。what? 官方直接跟我们说GG了?楼主不甘心,还是想尝试一下。借鉴之前...

weixin_39864101的博客 854

web自动化测试入门篇04——selenium+python基础方法封装_封装selenium的方法

其实这里面的优点也是显而易见的。第四,如果你的代码封装完善并且比较健壮且无高耦合,其实用来单独给开发做单测也是一个不错的选择,当然这里更多的还是指接口测试,众所周知基本很少有开发会在紧迫的项目时间内再给自己的程序设计一套单测代码,那么对于测试的同学来说,在实现现有代码的同时,是否可以将代码提供给开发做单模块或功能的单测就显得十分的重要了,这也是测试左移中比较典型的一个例子。元素定位自然不必多说了,web自动化中的基础操作,也是日常接触的最多的功能,封装的功能只需传两个参数,定位方式与元素对应的属性值。

2401_84159783的博客 1746

工创赛智能搬运小车实战:视觉定位、底盘控制与RTOS调度

智能搬运系统是嵌入式控制与机器视觉融合的典型工程实践,其核心在于视觉定位精度、运动控制稳定性与实时任务调度能力。在有限算力(如STM32H7)、低功耗约束和结构化场景下,传统CV方法(如FAST+RANSAC)比轻量级深度学习更具鲁棒性与实时性;而底盘控制需穿透PID表层,直击死区补偿、编码器硬件滤波与负载自适应等物理层细节;RTOS则不是炫技工具,而是保障多模块时序确定性的刚需——尤其在视觉-控制-执行强耦合链路中,任务优先级、事件组通信与栈安全直接影响系统存活。本文聚焦全国大学生工程训练竞赛(工创赛)真

weixin_29194693的博客 267

web自动化测试:Selenium+Python基础方法封装

web自动化测试作为软件自动化测试领域中绕不过去的一个“香饽饽”,通常都会作为广大测试从业者的首选学习对象,相较于C/S架构的自动化来说,B/S有着其无法忽视的诸多优势,从行业发展趋、研发模式特点、测试工具支持,其整体的完整生态已经远远超过了C/S架构方面的测试价值。这篇文章,我们将深入探讨在Python中如何将Selenium的一些方法进行封装和二开,以便我们更高效地在自己的测试项目中灵活运用。

主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。 2479

产品包装质检实战:基于YOLOv5的智能包装合格检测系统全流程指南

摘要: 针对产品包装质检效率低、漏检率高的问题,本文提出基于YOLOv5的智能检测系统。系统通过采集包装缺陷数据(破损、缺标、封装不良等),利用YOLOv5实现多类别缺陷识别(准确率≥95%),并开发Flask Web界面实现检测可视化与报告生成。实验表明,该系统在30帧/秒的产线速度下可稳定运行,显著提升质检效率。项目涵盖数据标注、模型训练、系统开发全流程,具有工业落地价值,适用于智能制造场景的自动化质检需求。(149字)

LXY_LOVE36的博客 93

单智能体篇:Prompt工程艺术

模型在接收到 Prompt 时会自动扮演“角色”,角色定义的好坏直接影响智能体输出的风格和专业性。角色定义的重要性让智能体具备明确身份,例如“你是一位专业理财顾问”或“你是一个幽默的文案创作助手”。角色限定了模型知识输出的范围,使回答更专业、更贴合预期。实战示例模糊Prompt给我一些投资建议。你可以投资股票或者基金。优化Prompt你是一位具有10年经验的专业理财顾问,请给我针对30岁男性,年收入20万,风险偏中等的投资组合建议。

公众号:AI前沿侦探 1304

selenium高级封装

selenium是非常好的UI自动化测试工具,但是如果你不会做二次封装,只会直接使用那这个库并不能给你的测试效率带来方便,相反维护起来是一个累赘,因为你会遇到各种各样的问题,比如页面等待超时,元素定位困难、不准确,脚本编写困难等待。By.linkText("brush")可以写成By.xpath("//*[text()=\"brush\"]")By.id("brush")可以写成By.xpath("//*[@id=\"brush\"]")界面的文本,就可以写成:text->New activity in。

xiaojiawen的博客 487

【skill】漫剧 AI 视频创作的知识库 + API 调用手册

方案适用场景在对话中使用,自动触发注入到任何 LLM(Cursor/Windsurf/Claude API)Python 模块集成到自动化管线/批量生成GitHub 又限速了,不过前几轮搜到的已经够用了。根据搜索结果,结合已分析过的项目,给你整理完整对比 🐮。

突围 984

Selenium底层原理及二次封装

底层原理: Selenium1.x 使用JavaScript注入技术与浏览器进行交互; 需要Selenium RC启动一个Server,将操作Web元素的API调用转化为一段段Javascript,在Selenium内核启动浏览器之后,将js注入(js可以获取调用DOM的任何元素); 缺点:速度不理想,稳定性依赖于翻译的js脚本正确性。 Selenium2.x 整合了selenium和webdriver,利用浏览器原生API,封装成一套Selenium WebDriver API; 使用.

li156217606的博客 1566

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java中selenium方法封装_selenium 方法的简单封装

可以对 selenium 的一些原生的方法进行封装 避免重复编写,以下是一个简单的封装案例:# 通过类 进行封装from selenium import webdriverimport timeclass Mytest(object):#初始化操作def __init__(self):#创建浏览器self.driver = webdriver.Firefox()#将浏览器最大化se...

weixin_39658966的博客 358

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

selenium常用方法封装

from dhr.img.path import path import time from time import sleep from selenium.webdriver.support.wait import WebDriverWait from dhr.base.log import GetLogger from selenium.webdriver.common.action_chains import ActionChains import win32gui import win32con l

weixin_44079370的博客 1472

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

selenium函数封装

from selenium import webdriver from time import sleep ''' 常规操作: 1、启动浏览器 2、访问Url 3、元素定位 4、输入 5.点击 6.退出 ''' def open_browser(browser_type): driver = getattr(webdriver, browser_type)() return driver class TestUtils: # 构造.

C_TestMG的博客 705

Selenium定位的封装

1.在企业级自动化时,为了提升效率,不要每次都编写冗余的定位代码,需要对定位进行封装来提升开发的效率 2.封装思路,把定位的元素比如name,id,与元素值,存储到变量里 3.创建一个方法,包含两个参数,用于接收元素与元素值,在创建一个if…elif 语句判断元素属于那种定位 4.在定位的时候就不需要重复写定位语句,只需要在定位时调用方法传入参数、 5.代码: from time import s...

weixin_35973114的博客 1483

Python + selenium二次封装API

PO 模式解决的是元素定位与操作的分离; selenium API 二次开发解决的API易用性。 对selenium常用方法进行二次封装 module.py # coding=utf-8 """ 此文件为selenium常用方法二次封装文件 """ from selenium import webdriver from selenium.webdriver.common.action_chains...

Bab的博客 3330

selenium的二次封装

本文来介绍,如何把常用的几个webdriver的方法封装到自己写的一个类中去,这个封装过程叫二次封装Selenium方法。我们把打开站点,浏览器前进和后退,关闭和退出浏览器这这个方法封装到一个新写的类中去。我们按照如下层次结构在PyCharm中新建两个包和两个.py文件:      上图,baidu_search.py是我们编写测试脚本的python文件,具体测试代码写在这个文件。包test1下的...

qq_36928945的博客 727

Scrapy进阶封装(第六阶段:Selenium模板封装)

本阶段在模板的基础上增加自动化封装方法,包括获取网页源码,获取网页cookie,点击,控制浏览器,等等方法。

m0_64408930的博客 1万+

基于python+selenium的二次封装

这是个人对selenium.webdriver写的一些常用操作的二次封装,也就相当于重写了,不再使用自带的框架,用自己写的框架完成。这样的话使代码更简洁,用自己的思想完成代码的编写。 首先在根目录下创建子目录名为Common作为公用数据,名字随自己取,在Common目录下创建basepage.py和dir_config文件。(关于这两个py文件要用来做什么,后面有说到) 首先我们打开dir_co......

weixin_44954642的博客 4779

Selenium基本二次封装

Selenium是一个用于Web应用程序自动化测试工具,可以直接运行在浏览器中,针对页元素来进行定位并模仿人为操作。在进行自动化测试的过程中,我们经常会重复执行很多脚本,语句以及方法,这时,我们可以讲常用的动作封装到一个类中,以便多次调用。 一,把显示等待封装到每一次的元素定位中 # 元素定位 def ElementLocalization(method, locator, Sign=True): ''' :param method: 定位方式 :param locator:

weixin_43937682的博客 1万+

python 封装_Python+Selenium二次封装Selenium中几个方法

本文来介绍,如何把常用的几个webdriver的方法封装到自己写的一个类中去,这个封装过程叫二次封装Selenium方法。我们把打开站点,浏览器前进和后退,关闭和退出浏览器这这个方法封装到一个新写的类中去。我们按照如下层次结构在PyCharm中新建两个包和两个.py文件:上图,baidu_search.py是我们编写测试脚本的python文件,具体测试代码写在这个文件。包test1下的b...

weixin_39570530的博客 121

【selenium】 selenium 二次封装基础功能

# 基础类的二次封装selenium # 20191015 # coding=utf-8 # 创建时间:2022 2022/4/25 11:18 # IDE:PyCharm # 描述:selenium 基础类的二次封装selenium from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support.select import Select from selenium.webdr

自动人生博客 1987

python selenium对象封装_python+selenium十:selenium的二次封装

from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.select import Sel...

weixin_39878549的博客 360
上一篇: selenium web测试一
下一篇: selenium 基本语句
one_zero_one
博客等级 码龄7年 30粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值