Skip to main content

Simplify native Selenium operations to locate elements in a shorter manner

Project description

[TOC]

CSelenium

作者:LX

开始时间: 2021.12.15

更新时间: 2022.1.3

简化原生selenium操作,以更简短的方式对元素定位 使代码看起来更加清晰.

特点:

代码简洁,
代码具有及联操作

author: LX

Start Time: 2021.12.15

UpdateTime: 2021.12.20

Simplify native Selenium operations to locate elements in a shorter manner Make the code look cleaner.

characteristics:

Clean code,
Code has and associated operations
from src.Cselenium.CSelenium import ChromeSelenium,CSeleniumThread

def test1():
    cs = ChromeSelenium()
    cs.frame()
    # cs.get("http://www.baidu.com")
    cs.wait(2)
    cs.quit()
# test1()

def test2():
    cs = ChromeSelenium()
    cs.get("http://www.baidu.com")
    cs.id("kw").send_keys("hello")
    cs.wait(1)
    cs.quit()


def test3():
    cs = ChromeSelenium()
    cs.get("http://www.baidu.com")
    cs.id("kw").send_keys("hello world")
    cs.id("su").click()
    cs.wait(2)
    cs.quit()

# test3()

def test4():
    # 显示信息,无界面
    # info_tracking=True,is_interface=True
    cs = ChromeSelenium(info_tracking=True)
    cs.get("http://www.baidu.m")
    cs.wait(3)
    cs.id("kw").send_keys("abc")
    cs.id("su").click()
    cs.alert()
    cs.wait(4)
    cs.quit()

def test5():
    cs = ChromeSelenium()
    cs.get("http://127.0.0.1:8080/shixunyun")
    cs.implicitly_wait(3)
    cs.id("username").send_keys("lxadmin").xpath('//*[@id="app"]/div/div/form/div[3]/div/div/input').send_keys("admin")
    cs.id("loginBtn")
    cs.wait(5)
    cs.quit()


def test6():
    # 显示错误信息,并且忽略错误
    cs = ChromeSelenium(info_tracking=True,ignore_err=False)
    cs.get("http://www.baidu.com")
    cs.id("kw").send_keys([1,2,3])
    cs.wait(1)
    cs.quit()


def test7():
    # 显示错误信息,并且忽略错误
    cs = ChromeSelenium(info_tracking=True,ignore_err=False)
    cs.get("http://www.baidu.com")
    # cs.clear()
    cs.id("kw").send_keys("hello").click()
    cs.wait(1)
    cs.quit()

# test7()
# ----------------------------------CSeleniumThread测试----------------
def test8():
    # "firefox",chrome
    s = CSeleniumThread(["chrome", "firefox"], info_tracking=True)
    s.get("http://www.baidu.com")
    # s.id("kw").send_keys("hello")
    s.id("kw").send_keys("hello").wait(2).id("su").click()
    s.wait(3)
    s.quit()
    s.run()

0.0.5版本 做了一次大调整

改动时间 2022.1.3
改动一:wait_time原来int 修改为 float
改动二:ChromeSelenium类中初始化新增executable_path参数,ignore_err参数
      executable_path:浏览器驱动路径
      ignore_err:是布尔值,当值为False时,可以忽略执行方法产生当报错(大部分),一般配合
      info_tracking参数一起使用,
改动三:新增newElement()方法,这个方法可以让你去定位另一个元素
      修改原setEle()方法名为setElement(),
      新增currentTime()一个参数connector,时间的连接符号,默认-,
      新增getBrowserName()方法,返回浏览器名称,
      新增class_()方法,获取元素值class属性值,
      新增name_()方法,获取元素值name属性值,
      删除autoValue()方法,
      修改原resize()方法名为resizeWin(),
      修改原getEle()方法名为element()
      新增elements()方法,
      修改原eleIs_Displayed()方法名为isElementDisplayed(),
      修改原eleAttr()方法名g为etElementAttr(),
      修改原absElePos()方法名为elementPos(),
      修改原abaX()方法名为elementX(),
      修改原absY()方法名为elementY(),
      修改原eleSize()方法名为elementSize(),
      修改原eleWidth()方法名为elementWidth(),
      修改原eleHeight()方法名为elementHeight(),
      修改原moreWins()方法名为moreWin(),
      删除simulationKeyDown()方法,
      删除simulationKeyUp()方法,
改动四:新增CSeleniumThread类
        一种写法对映多个浏览器执行
        为了保证这个类正常运行,请将 浏览器驱动 放在与Python解释器同级目录下
        One script executes against multiple browsers
        To keep this class running, place the browser driver in the same directory as the Python interpreter
# CSeleniumThread 类例子:
from src.Cselenium.CSelenium import ChromeSelenium,CSeleniumThread
'''
    请确保chrome,firefox的驱动能正常使用
    Ensure that the Chrome and Firefox drivers work properly
'''
s = CSeleniumThread(["chrome", "firefox"], info_tracking=True)
s.get("http://www.baidu.com")
s.id("kw").send_keys("hello").wait(2).id("su").click()
s.wait(2)
s.quit()
s.run()
改动时间 2022.1.7
版本: 0.0.6
新增方法className()
新增方法classNames()
修复css()BUG
改动时间 2022.2.15
版本: 0.0.6
新增方法 location()
增加日志参数:log,保持日志需要使用pintStep()方法

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CSelenium-0.0.6.tar.gz (20.0 kB view hashes)

Uploaded Source

Built Distribution

CSelenium-0.0.6-py3-none-any.whl (21.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page