javascript - 使用 CEFSharp 设置动态下拉列表的值
问题描述
我正在尝试使用动态下拉列表自动填写网页。
当用户手动更改该下拉列表的值时,页面上的其他位置会出现第二个下拉列表进行更新。
我可以使用我的应用程序设置第一个下拉列表的值,如下所示:
browser.GetBrowser().GetFrame("mainFrame").ExecuteJavaScriptAsync("document.getElementById('ddlist1').value=" + '\'' + 1 + '\'');
但是,这不会像预期的那样更新第二个下拉列表。任何人都可以帮忙吗?
但是,我可以使用标准的 WebBrowser 控件来做到这一点,就像这样(这是在 VB 中)使用 .RaiseEvent("onchange"):
For f = 0 To frames.Count - 1
Dim frameDoc As HtmlDocument = WebBrowser1.Document.Window.Frames(f).Document
Dim frameEle As HtmlElement = frameDoc.GetElementById("ddlist1")
If frameEle IsNot Nothing Then
frameEle.SetAttribute("value", 1)
GetOriginalStates()
frameEle.RaiseEvent("onchange")
Exit For
End If
Next
解决方案
推荐阅读
- ldap - Netscape LDAP API 从 Microsoft AD 获取 Maxpagesize
- sql - 如何在 Laravel 6 中运行没有任何预期结果的原始 SQL 查询?
- r - 将一列拆分为具有不同行数的多列
- r - 通过for循环以不同的名称存储多个语料库
- r - fable::ARIMA 只产生 NULL 模型
- python - 如何将命令行参数添加到pytest命令
- postgresql - 如何从具有排序索引的子查询中按列排序
- julia - RREF 未在 Julia 中定义
- html - XML 文档中的 HTML 元素
- python - 可以使用reportlab 创建模糊文本吗?