点击问题
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
“元素不可点击”错误
点击 ChromeDriver 时,系统会模拟在元素的第一个客户端矩形(如果没有第一个客户端矩形,则为边界客户端矩形)中间的鼠标点击操作。若要了解 ChromeDriver 尝试点击的位置,最简单的方法就是打开 Chrome 开发者工具,并在系统调用您的点击操作之前检查要点击的元素。在检查器中选择该元素,并注意代表元素的客户端 rect 的蓝色框,如下图所示。ChromeDriver 将会尝试点击第一个指标的中间位置。
如果 ChromeDriver 抛出“元素不可点击”错误,很可能是因为用户实际上无法点击该位置。如需进行测试,请自行将光标放在第一个客户端矩形的中间,看看该位置是否可点击。
在上述情况中,测试尝试点击锚点元素。在这种情况下,锚点不可点击;只有子图片可供点击。由于图片元素上有 margin-bottom
样式,锚点元素的中间会超出可点击的图片边界,因此 ChromeDriver 会抛出错误。如需详细了解如何确定位置或大小,请参阅 W3 规范。如需修正上述情况,请点击图片,而不是锚点。
当测试尝试执行以下操作时,通常会出现“元素不可点击”错误:
- 点击某个锚点(其可点击的后代元素不在锚点边界内)(如上)
- 点击全部或部分位于另一元素下的某个元素
- 当存在固定叠加层时,点击屏幕外的元素(元素将滚动到视图中,但可能会在固定叠加层下滚动)
- 点击某个中间不可点击的元素(例如,某些类型的凸起 SVG 元素)
这些问题通常可以通过以下方法解决:点击指定元素的子项、以编程方式移除或隐藏屏蔽元素、使用高级互动 API 在元素左上角的偏移量处点击,或在 JavaScript 中模拟鼠标点击事件。
“元素不可点击”错误
这很可能是因为,在 ChromeDriver 确定元素的位置之后,到 ChromeDriver 实际在该位置发出点击请求之前,元素的位置发生了变化。
如需确定是否这是您的问题,请捕获点击的异常,并立即记录元素的当前位置和大小。将该位置与 ChromeDriver 报告其尝试点击异常的位置进行比较,看看两者是否不同。如果是这样,您需要等待元素停止移动或再次尝试点击。如果不是,请提交一个小测试页并用一个小测试页来重现问题(即使它只是偶尔触发问题)。
ChromeDriver 无法点击正在移动的元素
ChromeDriver 不支持此功能。如果元素最终停止,请等待停止。如果元素永不停止移动,ChromeDriver 无法保证点击会成功。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-07-15。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-07-15\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-07-15。"],[],[]]