找了很久,没找到十分好的解决办法,通过API移动光标到相关网页元素,并发送鼠标右键,能触发右键菜单,但那样太麻烦及不够精确。目前只想到了下面的可行的笨方法。
我现在通过不完善的方式,实现了我需要点击右键的功能,思路如下:
先编程找出执行右键菜单时指向的绝对Url,再通过相应信息,组合出要实现的Url,浏览该Url从而获得所需数据。用鼠标触发右键菜单,再通过用定时器执行代码查找Url。
For i = 0 To WebBrowserExt1.Document.Window.Frames.Count - 1 WriteRunLog(WebBrowserExt1.Document.Window.Frames.Item(i).WindowFrameElement.OuterHtml) WriteRunLog(WebBrowserExt1.Document.Window.Frames.Item(i).WindowFrameElement.Id) '获取Frames的Id值2018.3.7 WriteRunLog(WebBrowserExt1.Document.Window.Frames.Item(i).Url.AbsoluteUri) '获取绝对Url值2018.3.7 Next WriteRunLog("---------------------------------------------------------------------------------------") ===================请忽略前面的时间戳====== 2018/3/7 14:20:56 <IFRAME id=sog src="/devmonitor/abc_right_menu.flowc?dse_sessionId=ISEVJVDXFYDLFVASDGGUIXDXBNDCEPFBJAHODFBD&dse_pageId=0&_flow_context_string=&flowActionName=abc_run_status_op&devId=000000012340180" border=0 frameBorder=0 marginWidth=0 marginHeight=0 style="HEIGHT: 100%; WIDTH: 100%; ></IFRAME> 2018/3/7 14:20:56 sog
'下面这行就是执行右键菜单是真正指向的Url,通过浏览该Url就可以获取到所需数据
2018/3/7 14:20:56 http://bifsm.icbc/devmonitor/abc_right_menu.flowc?dse_sessionId=ISEVJVDXFYDLFVASDGGUIXDXBNDCEPFBJAHODFBD&dse_pageId=0&_flow_context_string=&flowActionName=abc_run_status_op&devId=000000012340180 ====================== 2018/3/7 14:20:59 <IFRAME id=sog src="/devmonitor/abc_right_menu.flowc?dse_sessionId=ISEVJVDXFYDLFVASDGGUIXDXBNDCEPFBJAHODFBD&dse_pageId=0&_flow_context_string=&flowActionName=all_events_jsp&devId=000000012340279" border=0 frameBorder=0 marginWidth=0 marginHeight=0 style="HEIGHT: 100%; WIDTH: 100%; ></IFRAME> 2018/3/7 14:20:59 sog
'下面这行是执行右键菜单另一个菜单项的是真正指向的Url,通过浏览该Url就可以获取到所需数据