首页 > 编程语言 >Python+Selenium

Python+Selenium

时间:2023-01-09 12:14:34浏览次数:36  
标签:XPATH name Python Selenium driver element find

python+Selenium学习

Selenium组件

  • Selenium IDE:是一个测试集成开发环境,可以结合FF录制脚本,并对脚本编辑和调试

    特点:1.很容易在页面上就行录制

    ​ 2.能自动通过id,name,xpath就行定位

    ​ 3.自动执行Selenium命令

    ​ 4.能够进行高度和设置断点

    ​ 5.录制的脚本能生成各种语言

    ​ 6.能在各个阶段添加断言

  • Selenium RC:Selenium Remote Control

    组成:Server端和Client端

    Server:负责启动和关闭浏览器,类似与HTTP

    CLient:各种编程语言设计的开发库构成

    RC提供了一个代理服务器,可以用程序语言编写测试用例,可以与其他框架进行集成测试

  • Selenium Webdriver

  • Selenium Grid

selenium定位方式

八大定位方式:

1.id:

driver.find_element(By.ID,'kw').send_keys('中共一大')

2.name:

driver.find_element(By.NAME,'wd').send_keys('yiyi')

3.class_name

driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('yiyi')

4.link_text

driver.find_element(By.LINK_TEXT,'依依(汉语词汇) - 百度百科').click()

5.partial_link_text

driver.find_element(By.PARTIAL_LINK_TEXT,'依依').click()

6.tag_name

driver.find_element(By.TAG_NAME,'标签名称')

7.css_selector

driver.find_element(By.CSS_SELECTOR,'#kw')  ->id:#
driver.find_element(By.CSS_SELECTOR,'.s_ipt')  ->class:.
driver.find_element(By.CSS_SELECTOR,'[name=wd]') ->name

8.xpath

一、绝对路径:/
driver.find_element(By.XPATH,'//html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[2]/input')
二、相对路径://
相对路径+属性[@属性=属性值]
#通过id属性
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys(“test”)

#通过class定位
driver.find_element(By.XPATH,'//*[@class="s_ipt"]').send_keys(“test”)

#通过name定位	
driver.find_element(By.XPATH,'//*[@name="wd"]').send_keys(“test”)

#通过其他属性进行定位
driver.find_element(By.XPATH,'//*[@autocomplete="off"]')

通过文本属性进行定位
driver.find_element(By.XPATH,'//*[text()="新闻"]')

相对路径+通配符(*)
driver.find_element(By.XPATH,'//*[@id="su"]')

属性组合定位(逻辑运算符and、or等)
driver.find_element(By.XPATH,'//*[@autocomplete="off" and @class="s_ipt"]').send_keys(“test”)

#模糊匹配
driver.find_element(By.XPATH,'//a[contains(text(),"hao")]") # 文本模糊匹配
driver.find_element(By.XPATH,'//input[contains(@class,"s_btn")]') # class属性模糊匹配,其它类似

标签:XPATH,name,Python,Selenium,driver,element,find
From: https://www.cnblogs.com/MaybeGut/p/17036628.html

相关文章

  • Python-列表
    列表中的每一个元素都是可变的。这意味着我们可以在列表中添加、删除、修改元素。 列表中的元素是有序的。Weekday=['Monday','Tuesday','Wednesday','Thursday','F......
  • Python_sqlite3与sqlite数据库交互
    基础功能importsqlite3#sqlite一个文件就是一个库#连接test.db数据库,没有就创建conn=sqlite3.connect('test.db')#创建一个cursorcur=conn.cursor()#......
  • Python-字符串
    用单引号,双引号,三引号创建字符串。不同数据类型是不能够合并的,必须转换为同一类型num=1string='1'num2=int(string)print(num+num2)   加号(+)用于字......
  • Python语言——实现登陆界面的跳转
    Python语言——实现登陆界面的跳转importtkinter'''实现登陆界面的跳转'''defenter():root=tkinter.Tk()root.title('信息界面')root['width']=......
  • python爬虫如何爬取招聘数据
    互联互通的时代,几乎任何行业有关的数据都可以在网络上查到,那么作为大数据公司,如何借用爬虫实现公开数据抓取数据就显得尤为重要,下面就是有关招聘信息等数据的抓取代码案例可......
  • Python爬虫
    参考网址https://blog.csdn.net/qq_35709559/article/details/84859927爬虫示例:将百度的图片下载到本地'''1.找到图片的url2.发送请求获取响应3.保存图片(流媒体......
  • 2023.1-09 python基础
    列表常用方法append增加一个元素a.append('aaaa')extend增加多个a.extend([1,2,3,4,5,6])index检索,个人理解类似于findprint(a.index("is"))inset指定位置插入......
  • Python笔记——列表一:列表简介(Python编程:从入门到实践)
    一、列表是什么列表:由一系列按特定顺序排列的元素组成(列表是有序集合)。表示:用方括号[]来表示,并用逗号来分隔其中的元素。访问:访问列表元素,可指出列表的名称,再指出......
  • python调试模块pdb:pdb基本用法(转)
    转载自:https://www.jianshu.com/p/fb5f791fcb18python调试:pdb基本用法(转)Edward_f0cusIP属地:台湾12016.01.0615:39:49字数767阅读73,778转自IBM开发......
  • python装饰器
    python装饰器--开放封闭原则知识点回顾#*args**kwargsdefwrapper(*args,**kwargs):#接受(形参)args=(1,2,3)kwargs={'a':1,'b':2}index(*args,**kwargs) #......