【发布时间】:2019-04-01 08:58:45
【问题描述】:
这是带有<select> 的源代码的sn-p。我正在努力寻找合适的选择器:
<label class="control-label pull-right" style="margin-right: 10px; font-weight: 100;">
<small>Show</small>
<select class="input-sm grid-per-pager" name="per-page">
<option value="https://www.mysite-com/admin/order?per_page=10" >10</option>
<option value="https://www.mysite-com/admin/order?per_page=20" selected>20</option>
<option value="https://www.mysite-com/admin/order?per_page=30" >30</option>
<option value="https://www.mysite-com/admin/order?per_page=50" >50</option>
<option value="https://www.mysited-com/admin/order?per_page=100" >100</option>
</select>
<small>Piece</small>
</label>
我想在 Puppeteer 中为 page.click() 选择 per_page=100 选项。尝试的以下选择器不正确,错误为 node not found。
"select[value='https://www.mysited-com/admin/order?per_page=100']"
【问题讨论】:
-
你想选择
option而不是select对吧? -
option[value='https://www.mysited-com/admin/order?per_page=100']应该可以工作,尽管selects 和options 的样式是出了名的困难和非常有限..(看看:stackoverflow.com/questions/7208786/…) -
Philip,选择器会告诉page.click(selector)点击哪里。错误是找不到节点。 -
如果您需要 javascript 来选择某个选项,将
selects.selectedIndex设置为正确选项的索引比使用(模拟)单击更安全。 (如果您使用的是 jQuery,请使用.val()。)
标签: javascript node.js css-selectors puppeteer headless-browser