[英]Locate web elements with JavaScript by CSS Selector or XPath?
在创建 Selenium 自动化测试时,有时我们需要使用 JavaScript 检索 web 元素,而不是使用driver.findElement
所以,我知道我们可以做类似的事情
javaScript = "document.getElementsByClassName('myClassName')[0].click();"
driver.execute_script(javaScript)
我看到我们可以通过ByClassName
、 ByName
、 ByTagName
和BytagNameNS
这种方式定位元素,但在大多数情况下,元素可以使用 CSS 选择器或 XPath 唯一定位,而我在文档和教程中看不到这种方式。
所以,我想知道是否有可能通过 XPath 或 Z2C56CZ3686155AF75A60A0F6E9D80C1F7EDD3E9Z 找到 web 元素?
document.querySelector() //for single node with css like path or selector
document.querySelectorAll() //for multiple nodes
通过 ID 发送至 select:
document.querySelector('#ID') //returns single element
document.querySelectorAll('#ID') //returns node list, you may need to use forEach
class 致 select:
document.querySelector('.class') //returns single element
document.querySelectorAll('.class') //returns node list, you may need to use forEach
select 由 class 在 div 内:
document.querySelector('div > .class') //returns single element
document.querySelectorAll('div > .class') //returns node list, you may need to use forEach
这是文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.