javascript - 如何使用 CefSharp 访问 html 元素属性
问题描述
这是页面的示例 HTML 段:
<dd class="row market-list_item">..</dd>
<dd class="row market-list_item">..</dd>
<div class="cell" role="button" data-ember-action data ember-action-3019="3019">..</div>
<div id="ember3020" class="ember-view cell price-buttons">
<a role="button" class="price_tick price-button price-button--sell sell" data-ember-action data-ember-action-3021="3021">86.50</a>
<a role="button" class="price_tick price-button price-button--buy buy" data-ember-action data-ember-action-3021="3022">96.75</a>
</div>
</dd>
我尝试了以下方法从 dd 元素中的 div 标签中检索元素属性 ember3020 。
var webval = chromeBrowser.EvaluateScriptAsync("(function() { return document.getElementsByClassName(' row market-list_item')[0].children[1].attibutes['id'].value; })();");
var response = webval.Result;
if (response.Success == false || response.Result.ToString() == null)
{
// Do work here
}
webval.Results = null。我无法获取属性值 :( 我正在尝试获取 id 值 ember3020。数据是动态的,每隔几分钟就会更改一次。所以,我事先不知道 id。
更新:
我解决了这个问题。这就是我发现的。
- .attibutes['id'].value 错误。这应该是 .getAttributes('id')
- 由于这是获取值的异步调用,因此我需要一个等待进程。这是我发现的有效方法。
https://gist.github.com/amaitland/7a41cc87b88dfcd30e0e
这使我可以在它们准备好时获取值。
解决方案
推荐阅读
- yocto - 无法将 lapack.so 文件放入 rootfs
- java - 有没有办法配置 maven-compiler-plugin 以使用源文件的相对路径?
- llvm - 使用 icmp->getOpcode() 函数时有些奇怪
- r - R闪亮链接checkboxGroupInputs
- python - PIP 无法安装 scipy 包(在 numpy.distutils 中没有名为“numpy.distutils._msvccompiler”的模块;从 distutils 尝试)
- arrays - 如何转换数组
在蜂巢中串起来 - java - 查找具有起始索引的最长公共子串
- ruby-on-rails - nil 的未定义方法“gsub”:NilClass -> 请求参数:无
- sql-server - 是否有任何简单的方法可以将多个 .txt 文件导入 SQL Server?
- angular - Angular 9 - 复杂的子/父导航