仅在数字输入字段上使用 page.type
Use page.type on only numeric input fields
我正在尝试使用 Puppeteer 在网页上填写表格,但有些输入字段只接受数字输入,例如:
<input type="text" inputmode="numeric">
但我无法像处理普通输入字段那样使用 page.type 写入这些输入字段。当我尝试时,我收到错误消息:
TypeError: text is not iterable
在所有其他输入上,page.type 工作得很好。
发生此错误是因为您试图使用数字而不是字符串类型调用 page.type()
函数。
page.type(selector, text[, options])
- 选择器
<string>
要键入的元素的选择器。如果有多个元素满足选择器,则使用第一个
- 文本
<string>
要输入到焦点元素中的文本。
- 选项
<Object>
- delay
<number>
按键之间的等待时间(以毫秒为单位)。默认为 0。
- returns:
<Promise>
例如:
await page.type('#mytextarea', '123')
或者您可以使用 eval
函数设置值:
await page.$eval('selector', field => field.value = 12);
我正在尝试使用 Puppeteer 在网页上填写表格,但有些输入字段只接受数字输入,例如:
<input type="text" inputmode="numeric">
但我无法像处理普通输入字段那样使用 page.type 写入这些输入字段。当我尝试时,我收到错误消息:
TypeError: text is not iterable
在所有其他输入上,page.type 工作得很好。
发生此错误是因为您试图使用数字而不是字符串类型调用 page.type()
函数。
page.type(selector, text[, options])
- 选择器
<string>
要键入的元素的选择器。如果有多个元素满足选择器,则使用第一个 - 文本
<string>
要输入到焦点元素中的文本。 - 选项
<Object>
- delay
<number>
按键之间的等待时间(以毫秒为单位)。默认为 0。
- delay
- returns:
<Promise>
例如:
await page.type('#mytextarea', '123')
或者您可以使用 eval
函数设置值:
await page.$eval('selector', field => field.value = 12);