-1

我的任务是自动验证网页中的内容,该网页具有“从机场”和“到机场”文本字段以及一个SearchFlights按钮。点击SearchFlights按钮后,我得到了搜索结果,我需要将这些结果与我的预期值进行比较。

我正在使用 C# 和 HTML DOM 编程来设置文本字段中的文本并单击SearchFlights按钮。

现在,我如何捕获事件(例如documentcompleted)并保存这些结果,以便我可以将它们与预期的记录进行比较?我在该网络应用程序中的按钮如下所示:

<a tabIndex="5" class="searchRht" id="searchBtn" onclick="sF();SearchFlights();return false;" href="" />

单击按钮后,页面刷新,并出现一条消息,说“正在加载航班时刻表”,然后显示结果。看起来该onclick方法有两个函数调用:sF()SearchFlights().

我不确定如何捕获该网页返回的事件和信息。

下面是用于点击按钮的代码

doc = webBrowser1.Document;
btnElem = doc.GetElementById(streleid);
if (btnElem != null)
{
    btnElem.RaiseEvent("onclick");//click on serach button
    btnElem.RaiseEvent("sF()"); //error comes here
    Application.DoEvents();  // this will load the browser document again
}
4

1 回答 1

0
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MultipleFunction.aspx.cs" Inherits="MultiCust_MultipleFunction" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Execute Multiple function with a Button</title>
</head>


<script language="javascript" type="text/javascript">
function ShowMessage()
{
    alert("Hi");
}


</script>


<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
    </form>
</body>
</html>

这是实现您正在寻找的东西的代码。

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class MultiCust_MultipleFunction : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Button1.Attributes.Add("onClick", "ShowMessage()");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("Zaq");
    }
}
于 2012-07-30T17:30:39.703 回答