JavaScript-使用部分通配符的getElementsByName

JavaScript-使用部分通配符的getElementsByName,javascript,automation,element,Javascript,Automation,Element,我正在进行一个自动化项目,其中我有一个带有搜索框的web适配器,但没有搜索按钮。唯一的方法是按enter键。我发现前面的一个线程提供了一个按ID获取文本框元素的解决方案,但是在这个场景中,文本框ID是在每次加载页面时随机生成的 文本框的名称也总是更改,但名称的结尾总是以\u text结尾 我曾尝试在下面的脚本中使用*\u text作为参数,但一直出现错误。你知道我做错了什么吗?或者有更好的建议吗 eventname = "keydown" elementID = "*_text" 我对属性

我正在进行一个自动化项目,其中我有一个带有搜索框的web适配器,但没有搜索按钮。唯一的方法是按enter键。我发现前面的一个线程提供了一个按ID获取文本框元素的解决方案,但是在这个场景中,文本框ID是在每次加载页面时随机生成的

文本框的名称也总是更改,但名称的结尾总是以
\u text
结尾

我曾尝试在下面的脚本中使用
*\u text
作为参数,但一直出现错误。你知道我做错了什么吗?或者有更好的建议吗

eventname = "keydown"

elementID = "*_text"


我对属性有点困惑……它是
name
还是
id
。虽然这无关紧要,但你可以试一下

可以使用中的选择器选择多个图元

document.querySelectorAll('[name$="_text"]')[0]
或:用于选择第一个匹配元素:

document.querySelector('[name$="_text"]')
let firstVal=document.querySelectorAll('[name$=“\u text”]')[0]。值
console.log(firstVal)

如果要有所有元素的列表,请使用
document.querySelectorAll()
运行这种特殊类型的属性选择器
[id$=“\u text”]
,如果要选择一个特定元素,请运行“document.querySelector()

console.log(document.querySelectorAll(“[id$=”_text“])

foo

bar


这是错误的。您建议使用
queryselectoral()
然后获取第一个元素,因此您应该使用(或至少建议)
querySelector()
。但这不是问题所在。实际代码错误。看起来像是输入错误;)@MichaelCzechowski我同意,或者是抄袭/意面错误,但我建议他校对一下,他现在已经编辑了三次,但没有修复,所以它是错的。至少OP有一个正确的答案。不客气,请记下正确的答案。你应该记下一个答案来完成该主题。
document.querySelector('[name$="_text"]')