如何在浏览器控制台中按名称单击按钮

时间:2014-09-18 17:37:35

标签: javascript html google-chrome

我正在尝试使用Google Chrome中的开发者工具控制台点击网页上的按钮。

按钮的HTML是:

<input value="Send an Email" class="btn" name="email" onclick="navigateToUrl('/_ui/core/email/author/EmailAuthor?p2_lkid=00QU0000008xZYi&amp;rtype=00Q&amp;retURL=%2F00QU0000008xZYi','RELATED_LIST','email');" title="Send an Email" type="button">

如您所见,该按钮没有id属性,因此我尝试使用name属性选择它。我的JavaScript代码是:

document.getElementsByName("email").click()

我做错了什么?

3 个答案:

答案 0 :(得分:5)

document.getElementsByName返回一个数组(技术上是NodeList),因此你必须指定你想要的元素:

document.getElementsByName("email")[0].click()

答案 1 :(得分:1)

Elements = plural = node List

您需要选择第一个。

document.getElementsByName("email")[0].click()

答案 2 :(得分:-1)

该问题得到了很好的回答,该问题依赖于document.getElementsByName()返回节点列表而不是单个元素的事实。

只是指出一个替代方案,没有列表返回方法:

如果你想浏览单个元素,并且没有id,但需要查找任何属性(不仅仅是名称),你可以使用document.querySelector()来调用它,它使用类似css的选择器,并返回第一个匹配的元素,所以:

var element = document.querySelector("[name='email']");