javascript - 如何让 Puppeteer 从 antd Select(非本地选择元素)中选择项目?
问题描述
我试图让 puppeteer 与 antd Select 一起工作,但不知道如何。Puppeteer 一直超时,因为它找不到选择器。
<Select
id="select-whale-type-dropdown"
showSearch
placeholder="Choose one..."
notFoundContent="Whale Type not found"
>
<Select.Option value="Blue Whale" key="Blue Whale">
Blue Whale
</Select.Option>
<Select.Option value="Humpback Whale" key="Humpback Whale">
Humpback Whale
</Select.Option>
<Select.Option value="Pilot Whale" key="Pilot Whale">
Pilot Whale
</Select.Option>
错误信息:
1) Frontend crawl test
Whale crawl
Selects Humpback Whale as Whale Type:
Error: waiting for selector "#select-whale-type-dropdown" failed: timeout 30000ms exceeded
at Timeout.WaitTask._timeoutTimer.setTimeout (node_modules/puppeteer/lib/FrameManager.js:845:60)
当我们还在使用 react-bootstrap 的下拉菜单时,它工作得很好,似乎 antd 没有使用原生的 select 元素。知道如何让 antd Select 与 puppeteer 一起工作吗?
谢谢 :)
杰斯
解决方案
我们现在可以使用aria-controls
属性了。
<div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-controls="dc58f58e-d287-4a0b-a9aa-d5ce3435102a" aria-expanded="false" data-__meta="[object Object]" data-__field="[object Object]" tabindex="0">
然后
document.querySelectorAll('#dc58f58e-d287-4a0b-a9aa-d5ce3435102a')
推荐阅读
- python - Python数据框包含
- php - 使用 PHP,我怎样才能找到 [departs_at] 字段的出现次数?
- android - 打开移动数据时如何从wifi网络访问本地url?
- selenium - 如何从文本中获取文本
使用硒标记 - docker - How to add files in docker container volume on build time
- autodesk-forge - 翻译大文件时如何防止会话耗尽
- android - AIDL 中的嵌套接口
- amazon-web-services - 降级实例类型后的 AWS 访问问题
- ruby - ruby club 2个多维key成1 via date等关键元素
- wildfly - 在 Kie 服务器上被禁止登录