首页 > 编程语言 >python+selenium基础语法

python+selenium基础语法

时间:2024-02-19 11:33:20浏览次数:32  
标签:__ python selenium self driver 语法 test sleep print

一、执行环境

Python 3.12.0     selenium 3.14.0

二、八大元素定位

//示例:打开百度,输入123,点击搜索
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

def test():
    driver = webdriver.Chrome("D:/driver/chromedriver.exe")
    driver.get('http://www.baidu.com')
    sleep(3)
    # driver.find_element_by_id('kw').send_keys('selenium')
    driver.find_element(By.ID,"kw").send_keys("123")
    driver.find_element_by_id('su').click()
    sleep(8)
    driver.quit()

if __name__ == '__main__':
    test();

三、WebDriver 属性及方法

from selenium import webdriver
from time import sleep
class TestCase(object):
    def __init__(self):
        self.driver = webdriver.Chrome(r'D:/driver/chromedriver.exe')
        self.driver.get('http://www.baidu.com')
        self.driver.maximize_window()
    def test_stats(self):
        print(self.driver.name) #浏览器名称
        print(self.driver.current_url) #url
        print(self.driver.title) #title
        print(self.driver.window_handles) #句柄
        print(self.driver.page_source) #页面源码
        self.driver.quit()
    def test_method(self):
        self.driver.find_element_by_id('kw').send_keys('selenium')
        self.driver.find_element_by_id('su').click()
        sleep(2)
        # 回退
        self.driver.back()
        sleep(2)
        # 刷新
        self.driver.refresh()
        sleep(2)
        # 前进
        self.driver.forward()
        sleep(2)
        # 只关闭当前tab
        self.driver.close()
        # 关闭浏览器
        self.driver.quit()
    def test_handles(self):
        self.driver.find_element_by_link_text('新闻').click()
        # 获取全部句柄
        handles = self.driver.window_handles
        # 切换到第一个句柄
        self.driver.switch_to.window(handles[0])
        sleep(2)
        # 切换到第2个句柄
        self.driver.switch_to.window(handles[1])
        sleep(2)
        self.driver.quit()


if __name__ == '__main__':
    case = TestCase()
    case.test_handles()

四、WebElement 常用属性

from selenium import webdriver
class TestCase(object):
    def __init__(self):
        self.driver = webdriver.Chrome(r'D:/driver/chromedriver.exe')
        self.driver.get('https://sahitest.com/demo/linkTest.htm')
    def test_method(self):
        e = self.driver.find_element_by_id('t1')
        # <class 'selenium.webdriver.remote.webelement.WebElement'>
        print(type(e))
        # id 标识 F8BF2C6D76B729DAC7E250BF562EB47C_element_15
        print(e.id)
        # 宽高  {'height': 21, 'width': 737}
        print(e.size)
        # 宽高和坐标 {'height': 21, 'width': 737, 'x': 8, 'y': 542.90625}
        print(e.rect)
        # 标签名称  input
        print(e.tag_name)
        # 文本内容
        print(e.text)
        self.driver.quit();

if __name__ == '__main__':
    case = TestCase()
    case.test_method()

五、WebElement 常用方法

    def test_method2(self):
        e = self.driver.find_element_by_id('t1')
        e.send_keys('test send_keys')
        print(e.get_attribute('type')) #text
        print(e.get_attribute('name'))
        print(e.get_attribute('value')) #test send_keys
        print(e.value_of_css_property('font')) #13.3333px Arial
        print(e.value_of_css_property('color')) #rgba(0, 0, 0, 1)
        e.clear()
        self.driver.quit();

 

标签:__,python,selenium,self,driver,语法,test,sleep,print
From: https://www.cnblogs.com/xiaozhaoboke/p/17831017.html

相关文章

  • python函数传参
    python函数传参参考:python函数参数传递(params,*params,**params)位置参数常见的函数参数:defadd_both(x,y):returnx+y默认参数defenroll(name,gender,age=6,city='Beijing'):print('name:',name)print('gender:',gender)print(&......
  • 【60行代码解决】2024年最新版python爬虫有道翻译js逆向
    一、表单参数sign加密sign:c0f36866a9c650144ed5bac4eba532a7这种32位一般是MD5加密1.搜索sign:2.点击去分别在每个**sign:某某某**处打上断点结果在这个断点断住了3.原代码constu="fanyideskweb",d="webfanyi"functionj(e){returnc.a.createHash......
  • Python教程(27)——如何使用Python中的上下文管理器
    当我们在编写代码时,经常会遇到需要管理资源的情况,比如打开和关闭文件,如果遇到了一些异常情况,我们需要关闭资源,不然会导致资源泄露,虽然我们可以通过手动的方式来关闭,但如果有多个异常情况需要考虑的话,万一不小心漏了一处,就芭比Q了。所以,如果有一种更加优雅的方式来处理资源泄露的问......
  • 跨界协作:借助gRPC实现Python数据分析能力的共享
    gRPC是一个高性能、开源、通用的远程过程调用(RPC)框架,由Google推出。它基于HTTP/2协议标准设计开发,默认采用ProtocolBuffers数据序列化协议,支持多种开发语言。在gRPC中,客户端可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法,使得您能够更容易地创建分布式应用......
  • python相关知识
    1python原理Python先把代码编译成字节码,交给虚拟机执行。.pyc文件是字节码在磁盘上的表现形式字节码在虚拟机程序里面对应的对象是PyCodeObject对象(C++对象)PyCodeObjecttypedefstruct{PyObject_HEADintco_argcount;/*位置参数个数*/intco_nlocals;......
  • NewStarCTF 2023 WEEK2|REVERSE SMC 使用IDApython静态解决SMC
    先来一篇IDApyhotn的指令教程https://www.cnblogs.com/zydt10/p/17676018.html*自己编的这题对应的expa=[0x11,0x22,0x33,0x44]foriinrange(38):result=a[i&3]ida_bytes.patch_byte(0x403040+i,get_wide_byte(0x403040+i)^result)在IDA中运行完exp之后,......
  • 用python脚本自动发送钉钉消息出现服务器异常的报错: HTTPSConnectionPool(host='oapi.
    一、问题描述执行python脚本发送钉钉消息,出现报错:HTTPSConnectionPool(host='oapi.dingtalk.com',port=443):Maxretriesexceededwithurl:/robot/send?access_token=43df999582e899dc6815c9d6346c9d253060259625c92e4f166e25ea58e5bdb5&timestamp=1708242748918&sign......
  • python 日期时间学习
    importdatetimeimporttimefromdatetimeimporttimedeltaclassTimeUtil:"""staticmethod:静态方法,参数没有要求,和类没有绑定关系,跟全局变量差不多classmethod:类方法,是一个函数修饰符,第一个参数是cls"""@staticmethoddefget_current_yea......
  • [python] 内置函数: zip()
    zip()作用将复数个可循环类型(iterables)中的元素组装为一组tuple;组装规则是根据各自所在的位置决定;当最短的可循环类型内已经没有元素的时候,组装终止传入参数以及返回类型参数是可循环的数据类型,例如数组,元组,字符串等返回类型是搭载复数元组的某种可循环类型......
  • C#调用python开发的方法
    一、可以通过使用IronPython库来实现,首先需要安装IronPythonNuGet包,然后导入相关命名空间。接下来,我们创建了一个Python运行时引擎对象,并使用该引擎加载并编译指定路径下的Python文件(也可以直接传递Python代码作为字符串)。最后,我们可以像调用其他C#方法一样调用Python函数,将结果......