javascript - 如何使用 selenium webdriver 找到伪元素的父元素?

标签 javascript css selenium

我想检索伪元素的父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/

相关文章:

java - 如何使用java调用selenium中不同页面中的类

javascript - 加载应用程序时调用函数

javascript - 如果选中,更改复选框的标签 css 类

java - 如何使用 Selenium Java 设置 <pre> html 标签的值?

css - 图像的动画运动

html - 如何为输入中显示的文本创建偏移量?

excel - 使用 selenium VBA 登录具有两个表单组的网站

javascript - jQuery 中的并行异步请求

javascript - 以编程方式生成 Adob​​e 文件的预览

javascript - 如何让父元素成为子元素的大小?