我在firefox浏览器中使用watir
我正在寻找一种点击不是链接的文字的方法。我已使用
验证了网站上是否存在该文字b.text.include? "Tasks"
我已经尝试了几种不同的方式来点击这个文本,但都没有成功,到目前为止我已经尝试过了
b.link(:text, "Tasks").click
b.text.click "Tasks"
b.text(:text, "Tasks").click
有没有办法用watir点击这个文本?任何帮助都非常赞赏
答案 0 :(得分:4)
如果点击这个不是链接的文本会导致某些事情发生,那么很可能有一个容器元素封装了“有线”的文本来执行某些特定的javascript时检测到特定事件(如onMouseDown或onClick)。根据开发人员设计页面的方式,可以使用大量元素类型(span,div,表格单元格,仅举几例)。
由于可以嵌套多个容器(俄罗斯玩偶的极客版本),因此了解或找出哪个容器在单击时会触发客户端代码非常重要。要做到这一点,你需要查看页面的HTML或使用开发人员工具(所有现代浏览器都有它们)来检查“可点击”文本附近的DOM
为了给你一个更好的答案,除了一般的建议,我们需要查看页面的那部分的HTML ,以便能够分辨出这是什么类型的元素,以及建议正确的(how,what)值和元素类型,以便创建单击该元素的代码行,或触发所需的事件。
在您提供其他详细信息(编辑您的问题以向其添加信息)之前,您的问题以及答案也会受到GIGO综合症
的影响答案 1 :(得分:2)
如果您尝试点击的文字包含在段落或范围标记中,可以选择这种方式吗?如果包装标签有标识符,您也可以使用:id选择器。希望这有效。
我不知道您的用例,但如果文本 可以是一个链接,您可以在点击事件上使用event.preventDefault来阻止它做任何事情。