Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 木偶演员下拉菜单不是选择类型_Node.js_Asynchronous_Puppeteer - Fatal编程技术网

Node.js 木偶演员下拉菜单不是选择类型

Node.js 木偶演员下拉菜单不是选择类型,node.js,asynchronous,puppeteer,Node.js,Asynchronous,Puppeteer,我正在构建这个自动化系统,它可以访问特定的网站,登录,点击按钮创建一个新的请求,然后从几个下拉菜单中选择选项。在那之前一切都很好。问题是,至少我对代码的理解是,下拉菜单不是select类型。因此,当我尝试使用puppeter.select时,它不起作用。我无法让它点击下拉菜单,也无法选择任何选项。更具挑战性的是,我将选择的选项每次都会有所不同,我需要一种方法来识别下拉列表中的每个选项,并可能标记它们,以便根据参数选择它们 这是其中一个下拉菜单的代码 <div class="jss

我正在构建这个自动化系统,它可以访问特定的网站,登录,点击按钮创建一个新的请求,然后从几个下拉菜单中选择选项。在那之前一切都很好。问题是,至少我对代码的理解是,下拉菜单不是select类型。因此,当我尝试使用puppeter.select时,它不起作用。我无法让它点击下拉菜单,也无法选择任何选项。更具挑战性的是,我将选择的选项每次都会有所不同,我需要一种方法来识别下拉列表中的每个选项,并可能标记它们,以便根据参数选择它们

这是其中一个下拉菜单的代码

<div class="jss131">
<div class="jss132 jss135 jss119 jss104" aria-pressed="false" tabindex="0" role="button" aria-haspopup="true" id="select-company">
<span>&#8203;​</span>
</div>
<input name="companyAndRegN" type="hidden" value="">
<svg class="jss138 jss137" focusable="false" viewBox="0 0 24 24" aria-hidden="true" role="presentation"><path d="M7 10l5 5 5-5z">
</path>
</svg>
</div>
然后,当我们单击该框时,它将加载所有选项:

<ul class="jss280 jss281" role="listbox">
<li class="jss1 jss287 jss290 jss295 jss296 jss284 jss285" tabindex="0" role="option" data-value="[object Object]" style="border-left: 1px solid rgb(171, 171, 171); padding-left: 5px; height: 4px;">
"Company A"
"&nbsp;-&nbsp;"
"AB123456789"
<span class="jss229">
</span>
</li>
.
. All other options...
.
</ul>
我尝试了page.select,我尝试了xpath。。。什么都不管用

它有文本框,在我们从第一个下拉列表中选择一个选项之前,这些文本框会被阻止,以防相关


提前谢谢你

嘿,我这样做跨越了这个问题

await page.$eval("#drop_down_selector", (el) => (el.value = "Targeted_value"));