模拟按类单击javascript以创建元素

模拟按类单击javascript以创建元素,javascript,c#,getelementsbyclassname,Javascript,C#,Getelementsbyclassname,我在c#中使用ExecutElementAsync 我也想使用JavaScript模拟点击此按钮: <a class="btn confirm" href="#"> <h5> Begin </h5> </a> 我的代码: string jsScriptB = System.Xml.Linq.XElement.Parse(@"<js><![CDATA[ document.getElementByClassNam

我在c#中使用ExecutElementAsync

我也想使用JavaScript模拟点击此按钮:

<a class="btn confirm" href="#">
  <h5>
    Begin
  </h5>
</a>

我的代码:

string jsScriptB = System.Xml.Linq.XElement.Parse(@"<js><![CDATA[ document.getElementByClassName('btn confirm').click();]]></js>").Value;
            browser.ExecuteScriptAsync(jsScriptB);
string jsScriptB=System.Xml.Linq.XElement.Parse(@“”).Value;
ExecuteScriptAsync(jsScriptB);
我真的不确定出了什么问题,但按钮没有点击


问题:如何在JavaScript文档中使用JavaScript单击该按钮。getElementsByClassName将返回一个HtmleElement数组,因此您不能直接调用它。您需要单击单个元素

document.getElementsByClassName('btn确认')[0]。单击()

其次,您试图在getElementByClassName中使用2类,这在第一位是无效的

你最好这样称呼它

document.querySelectorAll('.btn,.confirm')
browser.Document.GetElementById(".btn,.confirm").InvokeMember("click"); 
或者,如果html文档中只有一个元素,只需调用querySelector。以后你可以这样称呼它

document.querySelectorAll('.btn,.confirm')
browser.Document.GetElementById(".btn,.confirm").InvokeMember("click"); 

Winform web浏览器控件?@Adrian某种程度上说,这是windows formit中的浏览器,可能是因为您尚未检查DOM是否准备就绪@格雷普林斯我不确定情况是否如此。其他代码(如document.all(“'username”“).value=”“testSlash3”“;)可以工作,但此代码无法执行
console.log(document.getElementByClassName('btn confirm'))
?谢谢,这就解决了问题。我曾基于类似的问题尝试添加[0],但愚蠢地输入了一个错误,并说出了document.getElementByClassName('btn confirm')[0]。单击();(元素,而不是元素)。无论如何,谢谢你!