屏蔽弹出对话框

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using mshtml;

namespace WindowsApplication2
{
    public partial class Form1 : Form
    {
        //初始界面
        Uri temp1 = new Uri("http://www.ahbys.com/ahbysCom/login.html");

        //登陆后首页
        Uri temp2 = new Uri("http://www.ahbys.com/ahbysCom/");

        StreamReader sr;
        String line;

        //保存标志位
        bool baocun = false;

        public Form1()
        {
            InitializeComponent();
            sr = new StreamReader("心理学.txt");
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {         

            //初次登陆时,填入信息
            if (e.Url == temp1)
            {
                HtmlElement he_name = this.webBrowser1.Document.GetElementById("Name");
                he_name.InnerText = "*******";

                HtmlElement he_password = this.webBrowser1.Document.GetElementById("PassWord");
                he_password.InnerText = "*************";

                //submit 正好是4
                HtmlElementCollection hec = this.webBrowser1.Document.GetElementsByTagName("input");
                HtmlElement elem = hec[4];
                elem.InvokeMember("click");

            }

            //登录后进行第二次跳转
            if (e.Url == temp2)
            {
                //10370
                this.webBrowser1.Navigate(@"http://www.ahbys.com/ahbysCom/Dispatch/GraduateEdit_part1.aspx?a=2015&b=10370&c=10432323115292&p=Q&keyword=10432323115292&idx=1&all=1");

            }

            //实际的工作
            if (e.Url.ToString().IndexOf("http://www.ahbys.com/ahbysCom/Dispatch/GraduateEdit_part1.aspx?a=2015&b=10370") >= 0)
            {

                if (this.webBrowser1.Document.GetElementById("txtDiscipline1").GetAttribute("value") != "07000000")
                {
                    this.webBrowser1.Document.GetElementById("txtDiscipline1").SetAttribute("value", "07000000");
                    this.webBrowser1.Document.GetElementById("txtDiscipline1").InvokeMember("onchange");
                    System.Threading.Thread.Sleep(100);
                }

                if (this.webBrowser1.Document.GetElementById("txtDiscipline2").GetAttribute("value") != "07150000")
                {
                    this.webBrowser1.Document.GetElementById("txtDiscipline2").SetAttribute("value", "07150000");
                    this.webBrowser1.Document.GetElementById("txtDiscipline2").InvokeMember("onchange");
                    System.Threading.Thread.Sleep(100);

                 }

                 this.webBrowser1.Document.GetElementById("txtDiscipline").SetAttribute("value", "07150100");

            }

         }

        string str = @"http://www.ahbys.com/ahbysCom/Dispatch/GraduateEdit_part1.aspx?a=2015&b=10370&c=000000000&p=Q&keyword=000000000&idx=1&all=1";

        //开始遍历
        private void button1_Click(object sender, EventArgs e)
        {
            this.button1.Enabled = false;
            this.button1.Text = "遍历";

            line = sr.ReadLine();

            if (line != null)
            {
               this.webBrowser1.Navigate(str.Replace("000000000", line));
               baocun = true;

            }else
                MessageBox.Show("已遍历完毕!");

            this.button2.Enabled = true;
            this.button2.Text = "保存";

        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            sr.Close();
        }

        private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
        {
            //自动点击弹出确认或弹出提示
            IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument;
            vDocument.parentWindow.execScript("function confirm(str){return ;} ", "javascript"); //弹出确认
            vDocument.parentWindow.execScript("function alert(str){return;} ", "javaScript");//弹出提示

        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.button2.Enabled = false;

            if (baocun)
            {
                HtmlElement ImageButton3 = this.webBrowser1.Document.GetElementById("ImageButton3");
                ImageButton3.InvokeMember("click");
                this.button2.Text = System.DateTime.Now.ToString() + "@ 数据已保存! ";
                baocun = false;
                this.button1.Enabled = true;
            }
        }

    }
}
时间: 2024-10-21 03:11:58

屏蔽弹出对话框的相关文章

经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

经验总结:WebBrowser自动点击弹出提示框alert.弹出对话框confirm.屏蔽弹出框.屏蔽弹出脚本错误的解决办法 网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrowser控件中自动点击弹出框及禁用脚本提示问题得到如下几种实际情况的解决办法,绝对管用. 1.屏蔽弹出错误脚本 将WebBrowser控件ScriptErrorsSuppressed设置为True即可. (参考本篇博客:http://www.cnblogs.com/qqflying/archive/20

cocos2d-x3.x 弹出对话框的设计与实现

先定义一个类PopupLayer 代码PopupLayer.h #ifndef __crossDT_PopupLayer__ #define __crossDT_PopupLayer__ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC; using namespace cocos2d::extension; class PopupLayer :public Layer { public: PopupLa

JavaScript中的三种弹出对话框

JavaScript中的三种弹出对话框 *****本文来自互联网****** 学习过js的小伙伴会发现,我们在一些实例中用到了alert()方法.prompt()方法.prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性更精彩,实际上我们经常会在进行网页浏览时简单这种类型的对话框,在用户与应用程序进行双向交流时,经常要用到对话框.avascript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prom

安卓弹出对话框——Alertdialog(一)

首先看各种样式的对话框: 我们看到,Dialog有很多的子类实现,所以我们要定义一个对话框,使用其子类来实例化一个即可,而不要直接使用Dialog这个父类来构造. 二.AlertDialog 今天我们重点要来了解的就是AlertDialog对话框,我们看到,AlertDialog是Dialog的一个直接子类. 使用AlertDialog,我们可以显示一个标题,最多3个按钮操作,以及一组选择框或者是自己定义的弹出框. 这里借用android的官方文档提供的一个图来看看AlertDialog框的组成

python selenium 处理JS弹出对话框(六)

在实际系统中,在完成某些操作时会弹出对话框来提示,主要分为"警告消息框","确认消息框","提示消息对话"三种类型的对话框. 1.警告消息框(alert) 警告消息框提供了一个"确定"按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说用户必须先关闭该消息框然后才能继续进行操作. 2.确认消息框(confirm) 确认消息框向用户提示一个"是与否"问题,用户可以根据选择"确定"按钮

JS弹出对话框的三种实现方式的意义

最近开始学习JavaScript,最开始讲的就是alert().confirm()和prompt()三种JS弹出对话框.三种弹出对话框分别是警告.确认和提示消息. 第一种警告消息框 (alert)     alert 方法有一个参数,即希望对用户显示的文本字符串.该字符串不是 HTML 格式.该消息框提供了一个"确定"按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作. <script> alert("Hello

service里面弹出对话框

如何在service里面弹出对话框先给一个需求:需要在service里面监听短信的接收,如果接收到短信了,弹出一个dialog来提示用户打开. 看看效果图:(直接在主桌面上弹出) service中弹出提示框: AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); alertDialog.setMessage("有新消息,是否查看?"); alertDialog.setPositiveButton("否

[Firefox附加组件]0003.弹出对话框

Firefox中使用面板(panel)模块来显示弹出对话框,面板的内容通过HTML编写.你可以在面板上运行content script,尽管在面板里的脚本无法直接访问插件代码,但是你可以在面板脚本和插件代码间交换信息.这次,我们做了一个会在单击时显示面板的动作按钮.面板上有一个<textarea>元素,用户按下return键时,<textarea>的内容会被发送给插件代码主程序.插件代码主程序会在控制台输出日志. 开发步骤 1.初始化项目,终端窗口运行以下命令. mkdir Dia

安卓飞机大战(三) 弹出对话框

在游戏时,不管是退出游戏还是选择战机,都要弹出一个对话框,需要以下代码 按一个按钮弹出对话框 Layout文件:(添加一个按钮) <Button        android:id="@+id/button1"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="准备起飞