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)]
相关推荐
青莲84325 分钟前
Java并发编程高级(线程池·Executor框架·并发集合)
android·前端·面试
程序员Agions27 分钟前
Flutter 邪修秘籍:那些官方文档不会告诉你的骚操作
前端·flutter
白驹过隙不负青春28 分钟前
Docker-compose部署java服务及前端服务
java·运维·前端·docker·容器·centos
满天星辰31 分钟前
Vue.js的优点
前端·vue.js
哒哒哒52852036 分钟前
React createContext 跨组件共享数据实战指南
前端
怪可爱的地球人37 分钟前
UnoCss最新配置攻略
前端
Carry34537 分钟前
Nexus respository 搭建前端 npm 私服
前端·docker
满天星辰38 分钟前
使用 onCleanup处理异步副作用
前端·vue.js
POLITE31 小时前
Leetcode 142.环形链表 II JavaScript (Day 10)
javascript·leetcode·链表
qq_229058011 小时前
lable_studio前端页面逻辑
前端