You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在puphpeteer ^2.0中如何使用类似Puppeteer的page.select()选择下拉框

Puphpeteer 原生封装了 JS 版的 page.select 方法,你可以直接调用,不用手动模拟点击下拉框和选项的操作。另外你的原代码执行失败大概率是没有等待页面动态加载的 DataTables 元素渲染完成就执行了操作。

修改后的可运行代码如下:

<?php

require_once '../vendor/autoload.php';

use Nesk\Puphpeteer\Puppeteer;
use Nesk\Rialto\Data\JsFunction;

$debug = true;

$puppeteer = new Puppeteer([
    'read_timeout' => 100,
    'debug' => $debug,
]);
$browser = $puppeteer->launch([
    'headless' => !$debug,
    'ignoreHTTPSErrors' => true,
]);

$page = $browser->newPage();
$page->goto('https://www.psacard.com/auctionprices#0%7Cpokemon');

// 先等待下拉框元素渲染完成
$page->waitForSelector('#DataTables_Table_0_length select');
// 直接调用select方法,第二个参数填你要选中的option的value属性值
// 比如默认第二个选项值为25,要选其他值直接替换即可
$page->select('#DataTables_Table_0_length select', '25');

// 后续其他操作...

$browser->close();

注意点:

  • select 方法的第二个参数要和目标 option 标签的 value 属性完全匹配,而不是选项的显示文本,如果你要选对应选项,先确认对应option的value值再传参即可。
  • 该方法会自动触发下拉框的 change 事件,和用户手动选择的效果完全一致,不需要额外处理事件监听。

内容的提问来源于stack exchange,提问作者Carol.Kar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 14:24:09