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)]
相关推荐
search735 分钟前
前端设计:CRG 3--CDC error
前端
治金的blog39 分钟前
vben-admin和vite,ant-design-vue的结合的联系
前端·vscode
利刃大大2 小时前
【Vue】Vue2 和 Vue3 的区别
前端·javascript·vue.js
Lhuu(重开版2 小时前
JS:正则表达式和作用域
开发语言·javascript·正则表达式
荔枝一杯酸牛奶3 小时前
HTML 表单与表格布局实战:两个经典作业案例详解
前端·html
Charlie_lll3 小时前
学习Three.js–纹理贴图(Texture)
前端·three.js
yuguo.im3 小时前
我开源了一个 GrapesJS 插件
前端·javascript·开源·grapesjs
安且惜3 小时前
带弹窗的页面--以表格形式展示
前端·javascript·vue.js
米奇妙妙wuu4 小时前
css实现文字和边框同样的渐变色效果
css·html·css3
摘星编程5 小时前
用React Native开发OpenHarmony应用:NFC读取标签数据
javascript·react native·react.js