selenium对元素定位和操作方法的封装

前面介绍了selenium对元素的定位方法和操作方法,但是因为这些方法用起来重复的次数比较多,所以我们在下面对他们进行一个封装

# -*- coding:UTF-8 -*-
from selenium import  webdriver
import time
class common(object):
    #新建对象就自动创建浏览器并且最大化窗口
    def __init__(self):
        self.driver=webdriver.Chrome()
        self.driver.maximize_window()
    #打开网页功能
    def open(self,url):
        self.driver.get(url)
        self.driver.implicitly_wait(5)
    # 关闭网页功能
    def close(self):
        time.sleep(3)
        self.driver.close()
    # 定位元素功能
    def locateElement(self,type,value):
        if type=="id":
            el=self.driver.find_element_by_id(value)
        elif type=="name":
            el=self.driver.find_element_by_name(value)
        elif type=="class_name":
            el=self.driver.find_element_by_class_name(value)
        elif type=="tag_name":
            el=self.driver.find_element_by_tag_name(value)
        elif type=="link_text":
            el=self.driver.find_element_by_link_text(value)
        elif type=="partial_link_text":
            el=self.driver.find_element_by_partial_link_text(value)
        elif type=="xpath":
            el=self.driver.find_element_by_xpath(value)
        elif type=="css_selector":
            el=self.driver.find_element_by_css_selector(value)

        return el

    #点击元素功能
    def click(self,type,value):
        # 调用locateElement定位元素
        el=self.locateElement(type,value)
        #调用click()进行点击操作
        el.click()

    # 对定位到元素进行输入
    def input_data(self, type, value,data):
        # 调用locateElement定位元素
        el = self.locateElement(type, value)
        # 调用send_keys进行输入
        el.send_keys(data)

    # 获取定位到的元素中的文本内容<a>text</a>
    def getText(self, type, value):
        # 调用locateElement定位元素
        el = self.locateElement(type, value)
        # 返回文本内容
        return el.text

    # 获取定位到的元素中的标签值
    def getAttribute(self, type, value,name):
        # 调用locateElement定位元素
        el = self.locateElement(type, value)
        # 返回文本内容
        return el.get_attribute(name)

    # 删除对象时自动执行的方法
    def __del__(self):
        self.driver.close()
#如果是引用该类则不执行该方法
if __name__=="__main__":
    test=common()
    url="https://www.baidu.com"
    test.open(url)
    test.input_data("id","kw","hiro")
    test.click("id","su")

# -*- author: Hiro -*-

还封装了打开浏览器和全屏等方法

原文地址:https://www.cnblogs.com/a565810497/p/11599594.html

时间: 2024-10-14 17:27:13

selenium对元素定位和操作方法的封装的相关文章

selenium中元素定位的常用方法

一.Selenium中元素定位共有八种 id name className tagName linkText partialLinkText xpath cssSelector 其中前六种都比较简单,通过id一般可以得到一个唯一的定位,其他五种要注意元素是否唯一,如果有多个,返回的是匹配的第一个元素.下面详细讲解一下xpath和cssSelector定位. 二.xpath定位 1.通过绝对路径定位 dr.findElement(By.xpath("/html/body/div[2]/div/di

Selenium Webdriver元素定位的方式

Selenium Webdriver元素定位的方式 主要就是By类的 1.By.name() ## html代码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><span id="gbqfsa">Google Search</span></button>

Web自动化测试 四 ----- python selenium 八大元素定位

python selenium 八大元素定位方法 前提条件:先要引入webdriver模块,创建一个Chrom浏览器对象,以及打开一个网页(以百度为例). 1 from selenium import webdriver 2 3 driver = webdriver.Chrome() 4 5 driver.get('http://www.baidu.com') 一.ID定位 driver.find_element_by_id('kw') 备注: 此方法相当于JS中的getElementById(

Selenium Webdriver元素定位的八种常用方式

在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><

3 Python+Selenium的元素定位方法(id、class name、name、tag name)

[环境] Python3.6+selenium3.0.2+IE11+Win7 [定位方法] 1.通过ID定位 方法:find_element_by_id('xx') 2.通过name定位 方法:find_element_by_name('xx') 3.通过class name定位 方法:find_element_by_class_name('xx') 4.通过tag name定位 方法:find_element_by_tag_name('xx') 说明:tag name在html中是标签的名字,

java selenium (五) 元素定位大全

页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 在自动化测试过程中, 测试程序通常的操作页面元素步骤 1. 找到Web的页面元素,并赋予到一个存储对象中 (WebElement) 2. 对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等 3. 验证页面上的元素是否符合预期 通过这三个步骤, 我们可以完成一个页面元素的操作, 找

Selenium Webdriver元素定位的八种常用方式(转载)

转自:http://www.cnblogs.com/qingchunjun/p/4208159.html 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" n

selenium浏览器元素定位

在元素定位中xpath使用的还算比较多,介绍一下常见的firfox和chrome浏览器插件安装 1.firfox firfox比较简单,主要浏览器自带的定位功能也比较强大国内也比较好的支持插件安装 1)安装 我这里已经安装好了所以可以在"我的附加组件"里面查看,如果没有安装的话可以在"可用附加组件"中安装 2)使用 firepath和firefinder都可以定位元素,firepath可以在定位元素的时候生成xpath或者css,finefinder比较偏向验证xp

Selenium常见元素定位方法和操作

一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locating-elements.html        这里有各种策略用于定位网页中的元素(locate elements),你可以选择最适合的方案,Selenium提供了一下方法来定义一个页面中的元素: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text fin