首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择PuppeteerSharp下拉列表

选择PuppeteerSharp下拉列表
EN

Stack Overflow用户
提问于 2022-04-13 13:25:31
回答 1查看 258关注 0票数 1

你好,谢谢你抽出时间阅读这篇文章。

目前,我正试图从BackMarket中抓取一批产品,并试图获得掉下IE的“选定”值:

代码语言:javascript
复制
<select id="id_wifi" name="wifi" class="form-control">
       <option value=""></option>                                                              
       <option selected="" value="Oui">Oui</option>                                 
       <option value="Non">Non</option>  
</select>

在这种情况下,我希望我的字符串存储"Oui“值。所以我试了一堆方法

代码语言:javascript
复制
var content = await handle.EvaluateFunctionAsync<string>("option => option.value", handle);

但是第一个选项是返回一个空字符串,第二个选项是返回null。我必须承认我真的不知道我想做什么。

如果有人能为我指明正确的方向,我将不胜感激。

非常感谢。

编辑:

事实上,这只是我愚蠢的错误,让我失去了很多时间,这个例子很好。我与之交互的产品刚刚选择了"“值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-13 15:05:26

文档中的示例上看,您似乎必须这样做:

代码语言:javascript
复制
// select the tag first
var element = await _page.QuerySelectorAsync("h1 > strong > a");

// then get the attribute
var url = await element.EvaluateFunctionAsync<string>("e => e.getAttribute('href')");
// OR
var url = await _page.EvaluateFunctionAsync<string>("e => e.getAttribute('href')", element);
// OR
var url = await (await element.GetPropertyAsync("href")).JsonValueAsync<string>();

// OR all in one
var url = await _page.EvaluateExpressionAsync<string>($"document.querySelector({"'h1 > strong > a'"}).getAttribute('href')");

当然,您必须将此应用于select选项的值。可能是'value‘而不是'href’和正确的选择器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71858273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档