我想检索伪元素的父web元素(如果可以命名为父元素),但据我所知selenium的> 搜索网页元素的方法不适合搜索伪元素。
但是JavaScript可以自由地操作伪元素,所以我想问一下,是否有一种方法可以返回css选择器/ JavaScript 中伪元素(更准确地说是“::after”)的父网络元素的 xpath。
换句话说,我得到了这个:
<html>
<body>
<label id="parent">
<span> Some text </span>
::after
</label>
</body>
</html>
我想得到:“#parent”
提前谢谢您。
最佳答案
如果您需要根据跨度文本选择父级,那么您可以使用如下内容:
driver.findElement(By.xpath("//label[.//span[text()='Some Text']]"));
上面的代码将帮助您找到后跟带有文本=“Some Text”的跨度的标签。
如果您不确定该标签,并且确定使用 javascript 获得结果。尝试使用以下语法在 selenium 中执行 JavaScript 代码:(Python)
driver.execute_script("document.querySelector('#item'), ':after'")
根据您的情况的要求更新脚本以查找父级。
如果这对您没有帮助,请在下面的评论中告诉我。
关于javascript - 如何使用 selenium webdriver 找到伪元素的父元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44116426/