我在C#winforms应用程序中使用Awesomium来单击网页内的div。
如果您直接在Google chrome中输入以下脚本,则该脚本就可以正常工作:
javascript: document.getElementById('ac_play').click();
但是当我尝试使用以下任一方法在Awesomium中执行它时:
webControl1.ExecuteJavascript("document.getElementById('ac_play').click();");
或这个:
webControl1.LoadURL("javascript: document.getElementById('ac_play').click();");
没用这让我觉得-Awesomium是否支持“div点击”?也许还有另一个原因导致它不起作用?
我也尝试执行代码:
和往常一样-没有任何效果。
编辑:
我已经在GeckoFX中测试了相同的javascript,并且那里也无法正常工作。是否有任何解决方法?
EDIT2
Standart WebBrowser控件完美执行脚本! (尽管它使用的是IE5左右。这就是为什么我希望看到Awesomium解决方案有效的原因)。
附言它在webcontrol中工作,现在却不行;(我如何重置它?
P.P.S.我在IE中删除了缓存,但是使用标准WebBrowser太不可靠了。
最佳答案
请记住,您必须等待DocumentReady
作为DocumentReadyState
的Loaded
事件(不是Ready
-因为那时Awesomium尚未准备好)
private void WebControl_DocumentReady(object sender, DocumentReadyEventArgs e)
{
if (e.ReadyState != DocumentReadyState.Loaded) return;
//Here ExecuteJavascript should work
}
关于c# - 在awesomium中执行javascript以单击div,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12088491/