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)]
相关推荐
小满zs1 天前
Next.js精通SEO第四章(JSON-LD + web vitals)
前端·seo·next.js
云水一下1 天前
从零开始!VMware安装Fedora Workstation 44桌面系统完整教程
前端
小码哥_常1 天前
安卓黑科技:实现多平台商品详情页一键跳转APP
前端
killerbasd1 天前
还是迷茫 5.3
前端·react.js·前端框架
不会敲代码11 天前
TCP/IP 与前端性能:从数据包到首次渲染的底层逻辑
前端·tcp/ip
kyriewen1 天前
奥特曼借GPT-5.5干杯,而你的Copilot正按Token收钱
前端·github·openai
AC赳赳老秦1 天前
投标合规提效:用 OpenClaw 实现标书 / 合同自动审核、关键词校验、格式优化,降低废标风险
开发语言·前端·python·eclipse·emacs·deepseek·openclaw
kyriewen1 天前
代码写成一锅粥?3个设计模式让你的项目“起死回生”
前端·javascript·设计模式
不会敲代码11 天前
从零搭建 AI 日记助手:用 Milvus 向量数据库实现语义搜索
javascript·openai
千寻girling1 天前
《 Git 详细教程 》
前端·后端·面试