【发布时间】:2015-05-18 17:25:14
【问题描述】:
如标题所述,我使用 Nightwatch 进行一些浏览器操作测试。但是,每当我需要在“锚”中使用 id 定位元素时,总是会发生故障。 例如:
<span class="recaptcha-checkbox goog-inline-block recaptcha-checkbox-unchecked rc-anchor-checkbox" role="checkbox" aria-checked="false" id="recaptcha-anchor" tabindex="0" dir="ltr" aria-labelledby="recaptcha-anchor-label"><div class="recaptcha-checkbox-border" role="presentation"></div><div class="recaptcha-checkbox-borderAnimation" role="presentation"></div><div class="recaptcha-checkbox-spinner" role="presentation"></div><div class="recaptcha-checkbox-spinnerAnimation" role="presentation"></div><div class="recaptcha-checkbox-checkmark" role="presentation"></div></span>
这是我要查找的元素,所以
.click("#recaptcha-anchor") 被使用了,但这不起作用。
另一个例子是:
<a class="jstree-anchor" href="#" tabindex="-1" id="6_anchor"><i class="jstree-icon jstree-checkbox" role="presentation"></i><i class="jstree-icon jstree-themeicon ace-icon fa fa-circle-thin green jstree-themeicon-custom" role="presentation"></i>Test</a>
同样的事情刚刚发生。
【问题讨论】:
-
所以我想基本上你想调用那个元素的编程点击,对吧?
-
你能显示其他 nightwatch.js 代码(点击 a 元素)吗?您也可以在“#”之前加上 span,(span#recaptcha-anchor) - 最后,如果您可以控制 HTML,我不会在 内嵌套 div 标签(块元素),它们是内联元素。
-
最后我发现第一个例子是一个谷歌recaptcha组件。所以也许不可见是属性。
-
但是其他组件我仍然无法弄清楚为什么夜班永远看不到它。我使用 chrome 来获取 css,它给了我“#\36 _anchor”。那个“\3”是什么意思?
标签: javascript html css selenium-webdriver nightwatch.js