目录
定位篇定位的详细介绍文本选择器定位CSS 选择器定位布局定位结合 CSS,也是我最喜欢的根据元素可用继续说说属性定位篇
UI 自动化很多时候的苦恼都是定位不到,其实说实话我到现在有时候也是莫名其妙的定位到或者定位不到。好在这个框架定位方式的上限非常以及特别的高,这就像人有钱和没钱的区别主要在于选择权一样,有选择的人生才是幸福的。出门想开法拉利就开法拉利,想开拖拉机就开拖拉机。
定位的详细介绍
1、官方是不推荐 xpath 和 css 的,原话意思是 CSS 和 XPATH 是绑定于 DOM 上的,当 DOM 结构出现更改他们将失效。
2、文本内容,输入框内的 placeholder,labels 等这些我们可以理解成面向业务的属性这些反而不那么容易改变所以定位应该尽量的去面向业务。
【资料图】
文本选择器定位
下文这样是一个基础的文本定位 特点有
1、模糊匹配
2、不缺分英文的大小写
3、如果存在多个会报错
page.locator("text=社区").click()
也可以使用简写的方式,注意其中的单引号
page.locator(""Log in"").click()
比较精准的方式,点击 id=main-nav-menu 包含的元素里文本="社区"的元素,这里使用了 text() 伪类
page.locator("#main-nav-menu :text("社区")").click()
结合 CSS 使用,仅匹配 article 元素
page.locator("article:has-text("All products")").click()
CSS 选择器定位
点击 button 按钮
page.locator("button").click()
通过属性定位,点击属性中存在 href="/topics"的元素
page.locator("[href="/topics" rel="external nofollow" rel="external nofollow" ]").click()
通过属性精准定位:点击 ID=nav-bar 元素下的 href="/topics"的元素
page.locator("#main-nav-menu [href="/topics" rel="external nofollow" rel="external nofollow" ]").click()
通过 placeholder 定位以及输入
page.locator("[placeholder="搜索"]").fill("电子校的故事")
布局定位结合 CSS,也是我最喜欢的
page.locator("input:right-of(:text("开源项目"))").fill("电子校的故事")
非常的实用,尤其是在我们经常测的管理系统里边 dialog 里,只要左侧的 label 不变~ 代码就不用改
解释下上边这段代码,大家一边看代码一边把头往显示器的右上偏左侧看下。
定位的的呢是一个 Input,一个在文本为"开源项目"右侧的 input。
同理这里可以使用:right-of、:left-of、:above、:below、:near 这几种布局定位的方式
根据元素可用
点击一个可用的 button
page.locator("button:visible").click() page.locator("button >> visible=true").click()
继续说说属性
点击一个按钮,它的文本包含了 Click me。另这里也可使用正则表达式
page.locator("button", has_text="Click me").click()
以上就是python playwright之元素定位示例详解的详细内容,更多关于python playwright元素定位的资料请关注脚本之家其它相关文章!
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单