在用Visual Basic(VS2015)编写的HAM RADIO应用程序中,我使用VB形式的Gecko Web浏览器。
在我使用VB程序(URL = http://websdr.ewi.utwente.nl:8901/)加载到Gecko浏览器的网站上,我想在旋钮“CW-narrow”上从我的VB应用程序中单击[通过软件代码]。此旋钮缩小此基于Web的SDR(软件定义无线电)中的接收过滤器
此旋钮是网站上表格的一部分。在CW-Narrow旋钮上用鼠标右键单击后,我在FireBug中看到了这一点(下面是HTML代码)。
'CW-Narrow'旋钮在表格中,我无法点击VB应用程序中的旋钮。
谁可以提供帮助?
注意: 我在同一站点上需要的另一个控件,即静音复选框,正在使用以下VB代码:
Dim MuteCheck As Gecko.DOM.GeckoInputElement = DirectCast(GWB_SDR1_MyCall.Document.GetElementById(“mutecheckbox”),Gecko.DOM.GeckoInputElement) MuteCheck.Click()
运行此代码确实会使SDR上的音频静音。
希望有人可以通过点击表格中的CW-Narrow旋钮来帮助我。 (见下面的网站复制粘贴)
<table>
<tbody>
<tr>
<tr>
<td>
<td>
<input type="button" onclick="setmf('cw',-0.78, -0.72);" value="CW-narrow">
</td>
<td>
<td>
<td>
<td>
</tr>
</tbody>
</table>
非常感谢提前!
Onno de Meijer
答案 0 :(得分:0)
尝试
GWB_SDR1_MyCall.Document.QuerySelector("div.ctl:nth-child(32) > table:nth-child(6) > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(2) > input:nth-child(1)").Click()
我不熟悉您尝试使用的Gecko API,因此很难确定您需要声明或转换为哪种类型。作为一种捷径,您可能希望尝试使用后期绑定,例如
Dim CWN As Object = GWB_SDR1_MyCall.Document.QuerySelector("div.ctl:nth-child(32) > table:nth-child(6) > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(2) > input:nth-child(1)")
CWN.Click()
您可能需要使用Option Strict Off
进行编译。
如果您仍然遇到问题,请尝试使用Dim CWN = GWB_SDR1_MyCall.Document.QuerySelector("div.ctl:nth-child(32) > table:nth-child(6) > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(2) > input:nth-child(1)")
,然后在该指令后断开调试器并检查运行时类型。