求Selenium的find_element XPath查询获取id属性的JavaScript等价实现
等价JavaScript实现代码
你要的功能对应的JS代码如下:
const targetId = document.querySelector("div[class='Content warning'] > p")?.id
代码说明
- 该代码和你提供的Selenium XPath逻辑完全一致:精准匹配class属性为
Content warning的div的直接子p元素,获取其id属性 - 可选链操作符
?.用于兼容元素不存在的场景,如果目标元素不存在,targetId会返回undefined,不会抛出异常 - 如果需要兼容不支持可选链的旧浏览器环境,可以使用如下写法:
const pElement = document.querySelector("div[class='Content warning'] > p") const targetId = pElement ? pElement.id : null
如果你是要在Selenium中注入执行这段JS拿到结果,可以直接使用如下代码,比原生元素查找效率高很多:
target_id = driver.execute_script("return document.querySelector('div[class=\"Content warning\"] > p')?.id")
内容的提问来源于stack exchange,提问作者olivier
相关产品推荐
相关产品推荐

