javascript - 通过 CSS 选择器或 XPath 使用 JavaScript 定位 Web 元素?
问题描述
在创建 Selenium 自动化测试时,有时我们需要使用 JavaScript 而不是 Selenium 来检索 Web 元素driver.findElement
。
所以,我知道我们可以做类似的事情
javaScript = "document.getElementsByClassName('myClassName')[0].click();"
driver.execute_script(javaScript)
我看到我们可以通过这种方式定位元素ByClassName
,但在大多数情况下,只有使用 CSS 选择器或 XPath 才能唯一地定位元素,而我在ByName
文档和教程中看不到这种方式。
所以,我想知道是否可以通过 XPath 或 CSS 选择器使用 JavaScript 定位 Web 元素?ByTagName
BytagNameNS
解决方案
document.querySelector() //for single node with css like path or selector
document.querySelectorAll() //for multiple nodes
按 ID 选择:
document.querySelector('#ID') //returns single element
document.querySelectorAll('#ID') //returns node list, you may need to use forEach
按班级选择:
document.querySelector('.class') //returns single element
document.querySelectorAll('.class') //returns node list, you may need to use forEach
按类选择内部 div:
document.querySelector('div > .class') //returns single element
document.querySelectorAll('div > .class') //returns node list, you may need to use forEach
这是文档
推荐阅读
- oracle - Oracle 到 Postgres 的迁移 to_binary_float
- vba - 使用 Word VBA 将图片重新着色为黑白 75%
- yocto - 升级 Yocto 版本的最佳方法
- python - django中基于其他表对象的高效过滤对象
- docker - PhpStorm 找不到 Linux Mint 系统变量
- ruby-on-rails - 获取“不允许的参数::照片”
- javascript - GAS:使用 V8 时 HtmlService.getUserAgent() 返回 null
- amazon-web-services - AWS CLI - 为什么我的 S3 存储桶文件看起来像是已加密?
- html - 将html转换成yii2格式
- powerbi - 如何在 Power BI 的可视化筛选器中搜索问号?