Javascript 如何在浏览器控制台中按名称单击按钮
我正试图使用谷歌Chrome中的开发者工具控制台点击网页上的一个按钮 按钮的HTML为:Javascript 如何在浏览器控制台中按名称单击按钮,javascript,html,google-chrome,Javascript,Html,Google Chrome,我正试图使用谷歌Chrome中的开发者工具控制台点击网页上的一个按钮 按钮的HTML为: <input value="Send an Email" class="btn" name="email" onclick="navigateToUrl('/_ui/core/email/author/EmailAuthor?p2_lkid=00QU0000008xZYi&rtype=00Q&retURL=%2F00QU0000008xZYi','RELATED_LIS
<input value="Send an Email" class="btn" name="email" onclick="navigateToUrl('/_ui/core/email/author/EmailAuthor?p2_lkid=00QU0000008xZYi&rtype=00Q&retURL=%2F00QU0000008xZYi','RELATED_LIST','email');" title="Send an Email" type="button">
我做错了什么?元素=复数=节点列表 您需要选择第一个
document.getElementsByName("email")[0].click()
返回一个数组(从技术上讲是a),因此必须指定所需的元素,如:
document.getElementsByName("email")[0].click()
这个问题的答案很好,因为
document.getElementsByName()
返回一个节点列表,而不是单个元素
仅指出另一种无列表返回方法:
如果要浏览单个元素,并且没有id,但需要查找任何属性(不仅仅是名称),可以使用document.querySelector()
,使用类似css的选择器调用它,并返回第一个匹配的元素,因此:
var element = document.querySelector("[name='email']");
getElement s ByName返回整个集合,而不是单个元素。查看名称-
getElementsByName
…它是复数“元素”。您不能对集合调用单击。您需要获取集合中的特定项目,可能是[0]
,然后调用单击该项目。除了提供的答案之外,如果您有多个名为“email”的元素,而不是仅获取第一个([0]
),您可以循环查看document.getElementsByName(“email”)的结果
并查看值
属性是否为“发送电子邮件”(此处),然后才调用单击
作为下一个投票人:此答案未被公布为已接受答案,但由于问题的标题是如何在浏览器控制台中按名称单击按钮,描述的核心问题是按钮没有id属性,所以我尝试使用name属性来选择它,它可能会吸引更多的人寻求按属性选择元素。
var element = document.querySelector("[name='email']");