Javascript Can';当有';其中有冒号和下划线
我正在使用Puppeter自动化一些数据输入,但似乎找不到特定输入元素的选择器 这是我试图通过代码获得的元素:Javascript Can';当有';其中有冒号和下划线,javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,我正在使用Puppeter自动化一些数据输入,但似乎找不到特定输入元素的选择器 这是我试图通过代码获得的元素: <input role="combobox" autocomplete="off" type="text" placeholder="No Selection" title="" aria-owns="154:_listSelect" class="
<input role="combobox" autocomplete="off" type="text" placeholder="No Selection" title=""
aria-owns="154:_listSelect" class="rcmpaginatedselectinput rcmpaginatedselectitem rcmpaginatedselect_accessible"
"="" onclick="juic.fire("153:","_click",event);"
id="153:_input" onblur="juic.fire("153:","_onBlur",event);"
onkeyup="juic.fire("153:","_click",event);"
onkeydown="juic.fire("153:","_click",event);">
问题是,#153:_input
甚至不是有效的CSS选择器。但是,您可以尝试将ID作为属性处理,并使用属性选择器
wait page.waitForSelector('[id=“153:_input”]');
等待page.type('[id=“153:_input”]','type而不是selection');
所以我刚刚试过,现在它给了我这个:
(节点:22154)未处理的PromiserEjectionWarning:错误:找不到选择器的节点:[id=“153:_input”]
我试过这段代码生成您共享的html(wait page.setContent(wait page.setContent)(“奇怪的事情是当我进入控制台执行document.querySelector('id=“153:_input”]))
它找到了……我做错了什么?不管它怎么工作!我忘了添加waitForSelector:)谢谢@hardkoded!
(async() => {
const browser = await puppeteer.launch({
args: [
'--start-maximized'],
headless: false
})
//launch page
const page = await browser.newPage()
await page.setViewport({ width: 1000, height: 800})
await page.goto("I'm not allowed to display the URL")
await page.waitForSelector('#153:_input')
await page.type('#153:_input', 'type instead of selecting')
})()