selenium - XPATH - 为什么 text() 函数中的括号
问题描述
这听起来像是一个非常简单的问题,但我无法在任何地方找到答案。在 XPATHs 中使用text()函数时括号的意义是什么?
为什么我不能简单地使用//div[text='myText']而不是//div[text()='myText']?
是否可以以某种方式将某种参数传递给函数?
谢谢
解决方案
text
不带括号的是名称测试匹配的text
元素。例如,像这样的元素
<div>
<text>myText</text>
</div>
将匹配//div[text='myText']
. 所以需要括号来消除歧义。text()
是一个节点类型测试匹配文本节点。它不是一个函数。例如,您也可以将它与descendant::text()
.
推荐阅读
- php - 通过 AJAX 将图像作为 base64 发送以通过 PHP 作为图像文件存储在服务器上
- openapi - 如何在 OpenAPI 的示例声明中使用 $ref?
- nginx - 如何设置微服务
- javascript - Google Colab 无法捕捉超过 60 秒的网络摄像头视频
- google-bigquery - LEFT JOIN 与重复的大查询
- python - 如何合并具有相同属性的两个 pandas 数据帧并覆盖相同的行?
- java - HikariCP 池连接不足
- cmake - CMake 与 Visual Studio 2019 的构建工具(只是 CLI 而不是 IDE)
- python - 线程:无法在 docker 内使用 sqlite3 打开数据库文件
- selenium - Sikuli Open JDK 11 - 由:java.lang.NoSuchMethodError:org.sikuli.script.Finder 引起。
(Ljava/awt/image/BufferedImage;)