2013-09-26 61 views
0

我試圖操縱一個在web瀏覽器控件中打開的html表格,這個工具將被用來訪問一個具有autologin選項的sharepoint頁面。這遠遠這是我有:Webrowser操縱HTML表

HtmlElementCollection htmlcol = 
    wb.Document.GetElementsByTagName("formTextfield277"); 

for (int i = 0; i < htmlcol.Count; i++) 
{ 
    if (htmlcol[i].Name == "portal_id") 
    { 
     htmlcol[i].SetAttribute("VALUE", 
           Properties.Settings.Default.sharepoint_user); 
    } 
    else if (htmlcol[i].Name == "password") 
    { 
     htmlcol[i].SetAttribute("VALUE", 
           Properties.Settings.Default.sharepoint_pw); 
    } 
} 

此C#代碼如果操作這個HTML頁面:

<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0"> 
    <TR> 
     <TD CLASS="txtRedBold10" WIDTH="4">&nbsp;</TD> 
     <TD CLASS="txtRedBold10" COLSPAN="2" HEIGHT="30">Please log in</TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" WIDTH="4">&nbsp;</TD> 
     <TD CLASS="txtBlackReg10">Username:</TD> 
     <TD><INPUT CLASS="formTextfield277" TYPE="text" NAME="portal_id" VALUE="" VCARD_NAME="vCard.Email" SIZE="28"></TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" COLSPAN="3">&nbsp;</TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" COLSPAN="2">&nbsp;</TD> 
     <TD CLASS="txtBlackReg10">Please enter your username or E-Mail Address</TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" COLSPAN="3">&nbsp;</TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" WIDTH="4">&nbsp;</TD> 
     <TD CLASS="txtBlackReg10">Password:</TD> 
     <TD><INPUT CLASS="formTextfield277" TYPE="password" NAME="password" SIZE="28" AUTOCOMPLETE="off"></TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" COLSPAN="3">&nbsp;</TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" COLSPAN="2">&nbsp;</TD> 
     <TD CLASS="txtBlackReg10">Please enter your network or Intranet password</TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" COLSPAN="3">&nbsp;</TD> 
    </TR> 

    <TR> 
     <TD CLASS="txtBlackReg10" COLSPAN="2">&nbsp;</TD> 
     <TD CLASS="txtBlackReg10"> 
      <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"> 
       <TR> 
        <TD><INPUT TYPE="image" HEIGHT="24" WIDTH="20" SRC="images/cp_arrow.gif" VALUE="Log In" 
           BORDER="0"></TD> 
        <TD><A CLASS="linkTxtRedBold10" HREF="javascript:signin()" 
          onClick="saveForm()">Login</A> 
        </TD> 
       </TR> 
      </TABLE> 
     </TD> 
    </TR> 
    <TR> 
     <TD CLASS="txtBlackReg10" COLSPAN="3">&nbsp;</TD> 
    </TR> 
</TABLE> 

任何建議嗎?

在此先感謝!

回答

1

wb.Document.GetElementsByTagName(「input」)not wb.Document.GetElementsByTagName(「formTextfield277」);

HtmlElementCollection inputHtmlCollection = Document.GetElementsByTagName("input"); 
foreach (HtmlElement anInputElement in inputHtmlCollection) 
{ 
        if (anInputElement.Name.Equals("portal_id")) 
        { 
         anInputElement.SetAttribute("VALUE", Properties.Settings.Default.sharepoint_user); 
        } 
        if (anInputElement.Name.Equals("password")) 
        { 
         anInputElement.SetAttribute("VALUE", roperties.Settings.Default.sharepoint_pw); 
        } 
} 

希望對您有所幫助!

+0

謝謝!有效! –