【问题标题】:How to Invoke Click to Open this Dropdown Menu如何调用单击以打开此下拉菜单
【发布时间】:2017-11-15 03:15:45
【问题描述】:

我想按一个按钮来打开网络浏览器中的这个下拉菜单。

这里是代码 html...

<div class="nfTabSelectionWrapper" id="directDisplayStringId"><a class="nfTabSelection nfTabSelection--active mentPicker standardHeight" href="#"><div class="mopNameAndLogos"><span class="nfTabSelection--text card-type-text mentActive">Options</span><div class="logosContainer"><span class="logos logos-inline"></span></div></div><span class="ui-svg-icon ui-svg-icon--chevron pull-right pickerArrow"></span></a></div>

下拉菜单的图片...

我尝试使用此代码,但没有成功:

WebBrowser1.Document.GetElementById("directDisplayStringId").InvokeMember("click")

【问题讨论】:

    标签: vb.net button drop-down-menu webbrowser-control


    【解决方案1】:

    下拉菜单的点击事件很可能绑定到位于 div 内的 &lt;a&gt; 元素(因为它仅指 #)。

    尝试获取 div 的第一个 &lt;a&gt; 元素并单击它:

    Dim directDisplayStringIdDiv As HtmlElement = WebBrowser1.Document.GetElementById("directDisplayStringId")
    
    If directDisplayStringIdDiv Is Nothing Then
        MessageBox.Show("directDisplayStringId doesn't exist.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Return
    End If
    
    Dim anchorElements As HtmlElementCollection = directDisplayStringIdDiv.GetElementsByTagName("a")
    
    If anchorElements.Count <= 0 Then
        MessageBox.Show("No anchor elements found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Return
    End If
    
    anchorElements(0).InvokeMember("click")
    

    【讨论】:

    • @SérgioWilker :......这是非常模棱两可的。你得到什么错误?我不敢相信它不起作用,因为它完美地遵循了 HTML 结构。查看我的更新并告诉我显示的是哪个消息框。
    • 这里说directDisplayStringId 不存在!
    • @SérgioWilker :所以它找不到元素,这意味着它位于&lt;iframe&gt; 内,或者您调用代码的时间过早。 -- 你在哪里/如何尝试这样做?在一个按钮?自动地? -- 您能否在问题 (HTML 和 VB.NET) 中添加更多代码以帮助我了解全局?
    • 该按钮不在 Iframe 内,我通过一个我自己收紧的按钮调用代码,在网站加载后,发布的代码都是关于向上层次结构的按钮。不幸的是:/
    • @SérgioWilker :嗯......很难诊断出问题......而且我不完全确定你的意思是代码 “都是关于按钮向上层级” ?
    猜你喜欢
    • 2014-07-04
    • 2023-03-23
    • 1970-01-01
    • 2020-12-25
    • 2023-03-20
    • 2014-04-01
    • 2016-08-19
    • 2014-01-29
    • 1970-01-01
    相关资源
    最近更新 更多