前言:

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

看这里介绍:w3school

首先来看一下xpath常用的语法:

一、xpath:通过常用属性定位,如:id、name、class

# 1.通过id定位
driver.find_element_by_xpath("//*[@id='username']").send_keys("159258") # 2.通过name定位
driver.find_element_by_xpath("//*[@name='username']").send_keys("159159") # 3.通过class定位
driver.find_element_by_xpath("//*[@class='ml-46']").send_keys("159159")

二、通过其他属性、多属性组合

# 4.通过多属性组合
driver.find_element_by_xpath("//input[@class='ml-46' and @name='username']").send_keys("545") # 5.通过其他属性
driver.find_element_by_xpath("//input[@placeholder='手机号']").send_keys("123")

三、通过文本属性

  • 如图:定位加入购物车这个按钮

# 6.通过文本属性
driver.find_element_by_xpath("//a[text()='加入购物车']").click()

四、通过层级关系、模糊匹配

# 7.通过层级关系
driver.find_element_by_xpath("//form[@id='ECS_FORMBUY']/ul[3]/li[2]/a").click() # 8.通过模糊匹配
driver.find_element_by_xpath("//a[contains(text(),'加入购物车')]").click() # 9.模糊匹配xx开头的
driver.find_element_by_xpath("//a[starts-with(@class,'btn')]").click()

五、通过层级关系-索引


# 10.通过层级关系-索引
driver.find_element_by_xpath("//*[@id='ad_type']/option[1]").click()

selenium - xpath - 定位的更多相关文章

  1. 自动化测试基础篇--Selenium Xpath定位

    摘自https://www.cnblogs.com/sanzangTst/p/7458056.html 学习 什么是xpath? XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言 ...

  2. selenium xpath定位方式整理

    #xpath定位元素方法: /html/body/div[2] #绝对路径定位 #相对路径定位元素 //* #找到所有的元素 //input #找到input元素 //*[@*] #表示有属性的所有元 ...

  3. python selenium xpath定位方式

    作者刚开始写博客,格式和语言方面难免存在问题,请大家海涵,如果有问题也请直接指出 xpath是一种在xm文档中定位的语言,详细简介,请自行参照百度百科,本文主要总结一下xpath的使用方法,个人看法, ...

  4. selenium之xpath定位和input文本

    selenium之xpath定位和input文本 xpath简单定位: 打开浏览器的F12 在自己需要定位的元素的那里右键 选择copy->xpath selenium获取input下的文本: ...

  5. python+selenium基础之XPATH定位(第一篇)

    世界上最远的距离大概就是明明看到一个页面元素矗在那里,但是我却定位不到!! selenium定位元素的方法有很多种,像是通过id.name.class_name.tag_name.link_text等 ...

  6. 用XPath精确定位节点元素&selenium使用Xpath定位之完整篇

    在利用XSL进行转换的过程中,匹配的概念非常重要.在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select ...

  7. Selenium+Java(四)Selenium Xpath元素定位

    前言 关于Selenium元素定位,这是最后一篇博客. Xpath定位可以实现的功能 Selenium+Java(三)Selenium元素定位中讲的定位方式也可以实现,具体要用那种定位方式要根据自己的 ...

  8. selenium自学笔记---ecshop购买脚本 xpath定位元素(下拉框,单选框)

    本机环境:xamppv3.2.1+ecshop3.0  1.元素定位写对,却一直报错,发现是页面元素加载的太慢,所以加上延时 from selenium import webdriverimport ...

  9. Python selenium PO By.XPATH定位元素报错

    Python selenium PO  By.XPATH定位元素报错 如下代码经常报错: # 首页的“新建投放计划”按钮 new_ads_plan = (By.XPATH, "//*[tex ...

随机推荐

  1. TNS-12541: TNS:no listener , TNS-12542: TNS:address already in use

    查看数据库监听状态不对$ lsnrctl status LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - Production on ...

  2. vs2013 浏览器 browserlink 不停访问

  3. Linux 更改默认安装路径

    一.rpm -qal |grep mysql 二.除了根据软件包来找文件位置之外,最常用的就是通过find查找某个关键字比如mysql所有包含mysql服务的文件路径 find / -name unr ...

  4. Ubuntu 16 下面的文件比较工具 Meld

    安装 sudo apt-get install meld 使用 很好用,很方便.支持文件比较,文件夹比较.

  5. 如何让pycharm以py.test方式运行

    第一步:进入File—Settings—Python Integrated Tools 发现设置中Default test runner是Unittests 将其改为py.test,点击OK保存 如果 ...

  6. CC攻击工具list

    从论文里抠出来的工具列表如下,后面有黑产的工具以及网络上摘录的工具: 分类:(1)有僵尸网络(是否代理服务器)&没有的==>(2)单一url&混合url(多线程,压测为主,dem ...

  7. 让Android模拟器飞一会

    https://software.intel.com/zh-cn/android/articles/speeding-up-the-android-emulator-on-intel-architec ...

  8. 通过IndexOf获得DataRow在DataTable中的行号

    Row = dt.Rows.IndexOf(dr);

  9. 20165210 2017-2018-2《Java程序设计》课程总结

    20165210 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总: 预备作业一: 20165210 我期望的师生关系 预备作业二:20165210 学习基础和C语言基 ...

  10. Electron中git, npm,webpack使用

    开始学习Electron的时候用到git, 记录学习一下, 学习地址是: https://zhuanlan.zhihu.com/p/20225295?columnSlug=FrontendMagazi ...