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)]
相关推荐
王解6 分钟前
一篇文章读懂 Prettier CLI 命令:从基础到进阶 (3)
前端·perttier
乐闻x12 分钟前
最佳实践:如何在 Vue.js 项目中使用 Jest 进行单元测试
前端·vue.js·单元测试
遇到困难睡大觉哈哈23 分钟前
JavaScript面向对象
开发语言·javascript·ecmascript
檀越剑指大厂26 分钟前
【Python系列】异步 Web 服务器
服务器·前端·python
我是Superman丶28 分钟前
【前端】js vue 屏蔽BackSpace键删除键导致页面后退的方法
开发语言·前端·javascript
Hello Dam30 分钟前
基于 Spring Boot 实现图片的服务器本地存储及前端回显
服务器·前端·spring boot
小仓桑31 分钟前
利用 Vue 组合式 API 与 requestAnimationFrame 优化大量元素渲染
前端·javascript·vue.js
Hacker_xingchen32 分钟前
Web 学习笔记 - 网络安全
前端·笔记·学习
天海奈奈32 分钟前
前端应用界面的展示与优化(记录)
前端
多多*1 小时前
后端并发编程操作简述 Java高并发程序设计 六类并发容器 七种线程池 四种阻塞队列
java·开发语言·前端·数据结构·算法·状态模式