xpath定位不包含某种属性的元素

今天定位一个页面中的input文本框,发现竟然有两个几乎一模一样的html代码的input文本框。

唯一不同的是,一图中的input有一个comps="[object Object],[object Object]"的属性和属性值,二图则没有。我要定位的是二图中的input,并且输入内容。

代码如下:

复制代码
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time
import random


phone_input = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.XPATH, '//*[@id="mobilePhone" and not(@comps)]')))
time.sleep(random.randint(1, 3))        # 随机等待一到三秒
phone_input.send_keys("6466589337")
time.sleep(2)

not(@comps)即代表定位不包含叫做comps属性的元素。

还可以用and或者or来指定多个属性值。

复制代码
//tr[not(@id) and not(@class)]
或者
//tr[not(@id) or not(@class)]
相关推荐
脾气有点小暴10 小时前
前端页面跳转的核心区别与实战指南
开发语言·前端·javascript
lxh011310 小时前
最长递增子序列
前端·数据结构·算法
Youyzq11 小时前
前端项目发布到cdn上css被编译失效问题rgba失效和rgb失效
前端·css·算法·cdn
San30.11 小时前
深入 JavaScript 内存机制:从栈与堆到闭包的底层原理
开发语言·javascript·udp
Fantastic_sj11 小时前
Vue3相比Vue2的改进之处
前端·javascript·vue.js
vipbic12 小时前
解决npm publish的404/403和配置警告全记录
前端·npm·node.js
Bigger12 小时前
🚀 “踩坑日记”:shadcn + Vite 在 Monorepo 中配置报错
前端·react.js·vite
ttod_qzstudio13 小时前
深入理解 TypeScript 数组的 find 与 filter 方法:精准查找的艺术
javascript·typescript·filter·find
冬男zdn13 小时前
优雅处理数组的几个实用方法
前端·javascript
克喵的水银蛇14 小时前
Flutter 通用标签选择组件:TagSelector 支持单选 / 多选
javascript·windows·flutter