簡體   English   中英

C#WebBrowser可以自動點擊div按鈕嗎?

[英]C# WebBrowser is it possible to automaticly click an div button?

我正在使用C#中的WebBrowser進行測試,我發現一個網站有一個按鈕但按鈕沒有ID它是一個div。

<div class="pc-image-info-box-button-btn-text pc-cursor"><i class="fa fa-heart" aria-hidden="true"></i>GO</div>

是否可以告訴WebBrowser單擊此按鈕? 當表單啟動時,WebBrowser導航到站點而不是編程等待WebBrowser完成加載,一旦加載它就應該單擊按鈕。

多數民眾贊成在我的嘗試:

            webBrowser1.Url = new Uri(textBox2.Text);

        while(webBrowser1.ReadyState != WebBrowserReadyState.Complete)
        {
            Application.DoEvents();
        }

        webBrowser1.Navigate("javascript: document.getElementsByClassName('pc-image-info-box-button-btn-text pc-cursor')[0].click();void(0);");

但它不起作用。

當然它可以工作,但前提是你的div有一個onclick事件處理程序集。

var div = document.createElement('div')
// undefined
div.onclick = function(){ console.log(':)')}
// ƒ (){ console.log(':)')}
div.click()
// :)

看看這個例子:

<html>
    <head>
    </head>
<body>
    <h2 class="text-center">example</h2>
    <div class="pc-image-info-box-button-btn-text pc-cursor" ><i class="fa fa-heart" aria-hidden="true"></i>GO</div>


</body>
    <script type="text/javascript">
        // attach function on document loaded event
        document.addEventListener('DOMContentLoaded', function(){ 

            // Your selector will be different most likely
            var element = document.getElementsByClassName('pc-image-info-box-button-btn-text')[0];

            // add click event listener to selected element
            element.addEventListener("click", clickFunc);

            // declare function which fires on click
            function clickFunc(){ alert('clicked!'); }

            // trigger  element click event
            element.dispatchEvent(new Event('click'));
        }, false);
    </script>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM