我正在使用C#中的CefBrowser
进行游戏,我想知道如何模拟使用类ClickMe
单击每个HTML元素并将InnerHTML返回到C#WantedInnerHtml吗?
在适当的页面中,通过AJAX调用加载了WantedInnerHtml的内容
C#代码
// press button once page is fully loaded
private void toolStrip1_ItemClicked(object sender,ToolStripItemClickedEventArgs e)
{
string script = @"
var el = document.getElementsByClassname('ClickMe');
for (var i=0;i<el.length; i++) {
alert(document.getElementsByClassname('WantedInnerHtml')[0].innerHTML);
return ocument.getElementsByClassname('WantedInnerHtml')[0].innerHTML;
el[i].click();
}
}";
string HtmlResults = FindImages(script);
}
private string FindImages(string script)
{
chromeBrowser.EvaluateScriptAsync(script).ContinueWith(x =>
{
var response = x.Result;
if (response.Success && response.Result != null)
{
dynamic result = response.Result;
return result;
}
else
{
return string.Empty;
}
});
return string.Empty;
}
模拟HTML
<h1>Hello world!</h1>
<p><div class="ClickMe">Click ME
</div><div class="ClickMe">Click ME
</div></p>
<div class="WantedInnerHtml"><p>
I want this
</p>
</div>
编辑:
今天我一直在玩这个游戏,看来您只能返回一次,而不是循环多次
有人可以确认吗?