gpt4 book ai didi

javascript - C#:基于 .NET 的网络浏览器不显示图像

转载 作者:行者123 更新时间:2023-12-03 03:57:32 24 4
gpt4 key购买 nike

我是 C# 语言新手,一直尝试在 Visual Studio 2015 中使用基于 .NET 的网络浏览器仅供个人使用自动化网站。

我已经完成了文档解析,使用了Timer,正确使用了DocumentCompleted事件来等待网页完全加载然后解析内容,尝试使异步事件表现得像同步事件(以便加载通过单击生成的HTML内容)完全加载的网页中的链接)等,以完成网页自动化的各个阶段:登录 -> 在车站之间搭乘火车 -> 单击“立即预订”链接 -> 转到下一页并填写乘客详细信息。

一切正常,但我现在陷入了最后一个阶段,即“转到下一页并填写乘客详细信息”有一个验证码图像,必须解析该图像才能转到付款页面。不要误会我的意思,因为我并不想自动解决此验证码。这里的问题是我没有看到只有当调用此 javascript 调用 $(document).ready 时才会加载的 captch 图像。

我认为我的项目有一些错误代码,正在停止加载验证码,因此,我创建了一个非常基本的新项目,仅添加了以下代码并浏览了不同的阶段我自己以查看是否验证码确实加载了,但不幸的是它不会加载。

namespace TestWebBrowser
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.Navigate("https://www.irctc.co.in/eticketing/loginHome.jsf");
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{

}
}
}

请参阅下文。突出显示的部分是我期待验证码的地方。

enter image description here

我必须告诉你,我不是网页设计师,因此我只了解非常基本的网站工作原理。

我在这个论坛上解决了几个问题,但没有任何帮助。

Internet Explorer 也在后面使用 .NET 浏览器,但在使用 IE 时,我可以看到验证码正在加载。那么,为什么这个 javascript 调用 $(document).ready 没有在 .NET 浏览器中被调用。请看下面:

enter image description here

我后来尝试在一个全新的项目中使用CefSharp,我可以看到验证码正在其基于 chromium 的网络浏览器中加载。但我已经使用基于 .NET 的网络浏览器完成了很多编码,因此我现在想坚持使用后者来解决这个问题。

发生这种情况是因为 .NET Web 浏览器使用了一些非常旧的 IE 版本配置吗?

请帮我理解。

更新 1:添加 JavaScript

<script type="text/javascript">
$(document).ready(function(){
var isJsBlocked=0;
if (typeof(nlpLoadCaptchaAsync) == 'function'){
nlpLoadCaptchaAsync();
}else{
isJsBlocked=1;
}
setTimeout(function(){
var isNLPCaptcha = document.getElementById('nlpIdentifier');
if(isNLPCaptcha == null || isNLPCaptcha=='' ) {
var nlptrack = new Image();
nlptrack.src="http://irctclive.nlpcaptcha.in/temp_redirect_count/irctc_timeout.php?ref=f2c5d744485b0b4251461454db791111&isJsBlocked="+isJsBlocked+"&dynamicParameter="+Date.now();
nlpCaptchaTimeOut(true);

}

}, 5000 );

});
</script>

最佳答案

此处分享的答案:Use latest version of Internet Explorer in the webbrowser control解决了我的问题。

我基本上必须更改我的网络浏览器控件使用的 IE 版本。

感谢马蒂亚斯·赫尔曼

关于javascript - C#:基于 .NET 的网络浏览器不显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44874758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com