我正在尝试使用webbrowser填写网页的<SELECT>
。我有运气。一个我可以完成,另一个是暗指我。我可以更新的部分如下所示:
<select class="width-80" id="yesNo" name="yesNo" tabindex="1" data-placeholder="Select Yes/No..." data-bind="value: yesNo">
<option value=""></option>
<option value="1">Yes</option>
<option value="2">No</option>
</select>
我无法填写的SELECT看起来像这样:
<select class="width-80 chosen-select" name="listOfStuff" id="listOfStuff" tabindex="2" data-bind="value: ListDetails().ListID, selectedText: ListDetails().ListDesc" data-placeholder="Select a thing..."></select>
Inspector视图显示了更多......
<SELECT>....as above</SELECT>
<div id="stuff_chosen">
<a class="chosen-thing">
<span>Thingo 1</span>
</a>
<div class="selected-dropdown">
<ul class="search results">
<li class="active-result" style="" data-option-array-index="0">Please select country</li>
<li class="active-result" style="" data-option-array-index="1">United States</li>
</ul>
</div>
所以在构建第二个时,我无法使用:
.SetAttribute("selected", "selected")
...为了清晰起见进一步编辑......
下面的代码适用于yesNo select但不是stuff_chosen select。
For Each oElement as HTMLElement In WebBrowser1.Document.GetElementById("yesNo").Children
If oElement.InnerHtml = "Yes" Then oElement.SetAttribute("selected", "selected")
Next
答案 0 :(得分:0)
事实证明,我操作网页的代码运行得更快,网页就会自行构建。 数据库查找用于填充数据列表,而数据列表又用于填充选择选项。我的代码在人口开始之前就已经执行了。 我解决了一个相当狡猾的发布:
string json = "{\"$id\":\"1\",\"status\":\"200\",\"description\":\"Status OK\",\"user\":{\"$id\":\"2\",\"Id\":124200,\"Name\":\"Rown Doger\",\"Email\":\"rown@email.com\",\"Password\":123,\"DateJoined\":\"2016-10-28T20:20:50\",\"Picture\":\"\",\"AccessToken\":\"testtoken_3432\"}}";
JavaScriptSerializer js = new JavaScriptSerializer();
RootObject Res = js.Deserialize(json, typeof(RootObject)) as RootObject;