我正在使用操纵up并面临错误
无法在“文档”上执行“ querySelector”:“#traveller [36350015] [date_of_birth(3i)]”不是有效的选择器
从下拉菜单中选择年龄时。 HTML代码在这里
<select id="traveller[36350015][date_of_birth(3i)]" name="traveller[36350015][date_of_birth(3i)]"><option value="0" selected="selected">...</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>`
我曾尝试跟踪但每次都出现相同的错误
await page.select("#traveller[36350015][date_of_birth(3i)]", `${day}`);
await page.evaluate((day) => {
{
document.querySelector('#traveller*> option:nth-child(1)').selected = true;
}
}, day);
我想id出了问题。
答案 0 :(得分:1)
方括号,括号和数字都需要用反斜杠转义,以免被视为特殊字符。
由于您的ID中有很多个字符,因此,将它们全部转义是多余的,这会导致选择器看上去很凌乱,因此我建议改用属性选择器:
await page.select("[id='traveller[36350015][date_of_birth(3i)]']", `${day}`);
答案 1 :(得分:0)
您没有在选择器中正确转义括号。试试这个:
"#traveller\[36350015\]\[date_of_birth\(3i\)\]"