我正在尝试制作一个程序,从我兄弟的学校用来显示你当前成绩的网站上提取信息。
我基本上已经完成了所有设置,但我遇到了一件事。
我正在使用WebBrowser,顺便说一句,我知道我应该使用WebRequests。
有一个组合框(下拉菜单),其中将填写注册到父母帐户的学生列表。
但是,在点击框之前,学生不会加载到组合框中。
我试图让WebBrowser点击组合框,但我无法让它工作。
以下是Combobox的HTML:
<a id="droplist" tabindex="1" href="#students" class="fg-button fg-button-icon-right ui-widget ui-state-default ui-corner-all ui-state-loading">SELECT A STUDENT<span class="ui-icon ui-icon-triangle-1-s"></span></a>
以下是DIV的HTML,其中包含未加载的名称:
<div id="students" class="hidden">
<ul></ul>
</div>
以下是DIV的HTML,其中包含加载时组合框中的名称:
<div id="students" class="hidden">
<ul><li><a href="#" id="17743">Aaron P. Hailey </a></li><li><a href="#" id="16265">Aidan C. Hailey </a></li><li><a href="#" id="19305">Ethan B. Hailey </a></li></ul>
</div>
我的猜测是,我必须发送额外的请求来获取信息或其他内容,但有人可以想到一个简单的解决方法吗?
我是VB的菜鸟,所以我在这方面遇到了很多麻烦。
谢谢,如果您需要任何其他信息,请与我们联系!
答案 0 :(得分:2)
fireEvent方法 - 在对象上触发指定的事件。
设置下拉值后,您可能会尝试触发附加到下拉列表的事件(onchange)。
doc.getElementById("droplist").selectedindex=1
doc.getElementById("droplist").FireEvent("onchange")
参考this
答案 1 :(得分:0)
您正在查看的“组合框”附加了一个事件监听器。单击此按钮将触发,并向Web服务器发出ajax请求。您应该能够通过“网络”标签下的Chrome开发者工具隔离返回所需等级数据的URI。这会记录页面发出的所有HTTP请求。获得URI后,您应该可以直接向自己发出请求,从而能够自己解析响应。
答案 2 :(得分:-1)
将字段加载到页面后,您可以使用jquery的标准val函数访问它们的值。
$( '#FIELD1')VAL();