none
VB2008 WebBrowser問題 RRS feed

  • 問題

  • 程式中有2個WebBrowser

    第一個WebBrowser1 , 第二個WebBrowser2

    2個都是去到"登入Yahoo!奇摩"

    我首先 在WebBrowser1登入Yahoo!奇摩,然後用另一個帳號在 WebBrowser2登入Yahoo!奇摩

    但是,有問題,我的問題是,在WebBrowser2登入後,會變成我在WebBrowser1的帳號

    我想問一問,有沒有方法可以登入2個帳號,而且不會互相影響

    2011年8月15日 下午 03:24

解答

  • 若您是用WebBrowser開Yahoo!奇摩登入A帳號

    再用Firefox去登入B帳號,這種做法則是可以


    Shadowと愉快なコード達
    • 已標示為解答 手指 2011年8月16日 上午 02:21
    2011年8月15日 下午 04:16
  • 您剛剛的帖子就有類似的方法了

    因為此Html Element沒有id,所以用GetElementById是取得不到id,須用GetElementsByTagName方法

    再一個一個走訪找出擁有href="memcp.php"的對象,再對它發出click

    Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
      For Each element As HtmlElement In aa
       If element.GetAttribute("href") = "memcp.php" Then
        element.InvokeMember("click")
        
       End If
      Next
    
     
    
    
    

     


    Shadowと愉快なコード達
    • 已標示為解答 手指 2011年8月17日 下午 02:58
    2011年8月17日 下午 02:56

所有回覆

  • 對指定網頁或程式作出反應,有範例?
    2011年8月2日 上午 10:09
  • 張貼文章應注意事項及應提供資訊

    麻煩請詳閱以上文章

    其中第2點

    2. 請詳述問題。

    請千萬拜託,別填寫 As Title 之類沒有更進一步描述的內容,除了這是對網友的不尊重,很多討論區重鎮,會將這類文章視為垃圾郵件的一種,直接刪除,比如說早期 VBQA 或是現在的 VB研究小站。重點是,可能網友根本不會對你的文章有所回應,因為根本不知道你在描述什麼。你可以把你打的文字給你的親朋好友看看他能不能看懂,若是看不 懂,網友跟你更不熟,就更看不懂。(看懂也不代表就能解決問題,但至少看懂才可能解決問題)

    一般而言,至少應超過三行,通常三行以內刪除是網路上的慣例。

    描述情況時,請把問題發生點精確描述。例如:

    「我的電腦為何不能開機?」

    會來程式討論區參與相關討論的網友大概也知道,這類問題有千百種可能,提問這必須把情況描述清楚,而不是任由網友猛猜。

    如果你再這樣發一行文, 不把問題描述清楚, 我就直接刪文了


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2011年8月2日 下午 01:02
    版主
  • WebBrowser 可不可以Enabled?

     

    • 已合併 璉璉Moderator 2011年8月6日 上午 07:15 合併一行文被鎖
    2011年8月4日 下午 01:27
  • 可   
    2011年8月4日 下午 01:45
  • 清除Cookies有沒有範例?

    另外,我想問,如何關閉WebBrowser1的控制項

    2011年8月8日 下午 12:36
  • 1.清除目前瀏覽網頁的Cookies
    http://stackoverflow.com/questions/912741/c-webbrowser-control-how-to-delete-cookies-from-windows-form

    清除本機全部的Cookies

        Dim files() As String = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies))
    
        For Each currentFile As String In files
    
          System.IO.File.Delete(currentFile)
    
        Next

    2.

    WebBrowser1.Visible = False 

    Shadowと愉快なコード達

    • 已標示為解答 手指 2011年8月9日 下午 03:12
    2011年8月8日 下午 01:13
  • 1. Delete cookies?

    http://social.msdn.microsoft.com/Forums/pl-PL/vbgeneral/thread/6b107b04-89bc-4ebc-8405-50c214284e25

    使用 Process.Start 搭配 RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2 指令

    2.         WebBrowser1.Dispose()


    歡迎參觀我的Blog.NET菜鳥自救會

    • 已標示為解答 手指 2011年8月9日 下午 03:12
    2011年8月8日 下午 01:27
    版主
  • 清除某個Cookie

    Response.Cookies("123").Expires = System.DateTime.Today.AddDays(-1).ToShortDateString
    


    coding or not
    • 已標示為解答 手指 2011年8月9日 下午 03:12
    2011年8月9日 上午 02:07
  • 不可能.

    2011年8月15日 下午 03:49
  • 可以說一說原因?  =]

    2011年8月15日 下午 03:52
  • 可以說一說原因?  =]


    WebBrowser控制項抓的資訊都是共用您的IE瀏覽器

    您想,在同一個IE瀏覽器要實現不同tab一個登入A帳號另一個登入B帳號,可能嗎?

    同理可推WebBrowser控制項也就不行

    http://msdn.microsoft.com/zh-tw/library/w290k23d(v=vs.80).aspx


    Shadowと愉快なコード達

    2011年8月15日 下午 03:56
  • 如果 用其他瀏覽器,是不是可以?

    2011年8月15日 下午 04:08
  • 若您是用WebBrowser開Yahoo!奇摩登入A帳號

    再用Firefox去登入B帳號,這種做法則是可以


    Shadowと愉快なコード達
    • 已標示為解答 手指 2011年8月16日 上午 02:21
    2011年8月15日 下午 04:16
  • vb 不能控制 firefox ...
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年8月16日 下午 12:14
  • html是

    <button class="pn vm" type="submit">

    我想問,如何按下去?

    我的做法是:
    Dim oLogin As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
            For Each element As HtmlElement In oLogin
                If element.GetAttribute("type") = "submit" Then
                    element.InvokeMember("click")
                End If
            Next

    2011年8月17日 上午 07:08
  • 就您提供的資訊,我測了一下是可以的
    Shadowと愉快なコード達
    2011年8月17日 上午 07:17
  • 剛剛看太快,請改成這樣

    Dim oLogin As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("button")
        For Each element As HtmlElement In oLogin
          If element.GetAttribute("type") = "submit" Then
            element.InvokeMember("click")
            Exit For '該頁有兩個submit,所以click第一個submit後就直接離開迴圈
          End If
        Next
    

     

     


    Shadowと愉快なコード達

    • 已編輯 Shadow .Net 2011年8月17日 上午 07:42 修改程式碼
    • 已標示為解答 手指 2011年8月17日 上午 07:55
    2011年8月17日 上午 07:37
  • 如果指定清除目前瀏覽在WebBrowser1的網頁

    例如網址是http://hk.yahoo.com/

    我英文不是太好,見不明白http://stackoverflow.com/questions/912741/c-webbrowser-control-how-to-delete-cookies-from-windows-form

    2011年8月17日 下午 12:26
  • 你的意思是需要提供翻譯功能的網站連結嗎?
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年8月17日 下午 12:46
  • 看不懂的情況下

    見到那個綠色打勾的大概就是解答最好

    把它的程式碼Copy下來執行看看就知道了


    Shadowと愉快なコード達
    2011年8月17日 下午 12:51
  • 都是不行= =

    沒有反應= =

     

    2011年8月17日 下午 01:03
  • 都是不行= =

    沒有反應= =

     


    這個不行?

    webBrowser1.Navigate("javascript:void((function(){var a,b,c,e,f;f=0;a=document.cookie.split('; ');for(e=0;e<a.length&&a[e];e++){f++;for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){for(c=location.pathname;c;c=c.replace(/.$/,'')){document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date((new Date()).getTime()-1e11).toGMTString());}}}})())") 
    

     


    Shadowと愉快なコード達
    • 已標示為解答 手指 2011年8月17日 下午 02:16
    2011年8月17日 下午 01:23
  • 行了 =]

    2011年8月17日 下午 01:25
  • 如果網頁中的按扭是<a href="memcp.php">
    應該怎按下去?

    用不到這個方法WebBrowser1.Document.GetElementById("123").InvokeMember("click")
    2011年8月17日 下午 02:40
  • 您剛剛的帖子就有類似的方法了

    因為此Html Element沒有id,所以用GetElementById是取得不到id,須用GetElementsByTagName方法

    再一個一個走訪找出擁有href="memcp.php"的對象,再對它發出click

    Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
      For Each element As HtmlElement In aa
       If element.GetAttribute("href") = "memcp.php" Then
        element.InvokeMember("click")
        
       End If
      Next
    
     
    
    
    

     


    Shadowと愉快なコード達
    • 已標示為解答 手指 2011年8月17日 下午 02:58
    2011年8月17日 下午 02:56
  • 方法都是不行= =

    網頁:
    按下清除 Cookies

    Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
            For Each element As HtmlElement In aa
                If element.GetAttribute("href") = "member.php?action=clearcookies&formhash=d315e1b2&sid=1k5JgD" Then
                    element.InvokeMember("click")

                End If
            Next


    • 已編輯 手指 2011年8月17日 下午 04:47
    2011年8月17日 下午 04:25
  • 方法都是不行= =

    網頁:http://www1.3boys2girls.com/index.php

    按下清除 Cookies

    Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
            For Each element As HtmlElement In aa
                If element.GetAttribute("href") = "member.php?action=clearcookies&formhash=d315e1b2&sid=1k5JgD" Then
                    element.InvokeMember("click")

                End If
            Next


    我按F12看到的超連結是:member.php?action=clearcookies&amp;formhash=4f089ba4

    應該是click這個超連結吧

    而且既然是超連結,WebBroswer直接Navigate(http://www1.3boys2girls.com/member.php?action=clearcookies&formhash=4f089ba4) 就好


    Shadowと愉快なコード達

    2011年8月17日 下午 04:38
  •  


    我用了這方法:

    Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
            For Each element As HtmlElement In aa
                If element.GetAttribute("href") = "logging.php?action=logout&formhash=34766c43" Then
                    element.InvokeMember("click")

                End If
            Next


    2011年8月18日 上午 05:00
  • 請問按下F12後,Ctrl+B去點該登出鈕

    您看到的原始碼是什麼?

     


    Shadowと愉快なコード達
    2011年8月18日 上午 05:08
  • 是不是 最後的數字 每一次都是不同的?

    <a href="logging.php?action=logout&formhash=aa723fe1">


    2011年8月18日 上午 05:12
  • 如果每次數字都不同的話

    請試試用Contains方法,有符合action=logout的字串,就抓出該<a>然後Click

     Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
        For Each element As HtmlElement In aa
          If element.GetAttribute("href").Contains("action=logout") Then
            element.InvokeMember("click")
    
          End If
        Next
    
    
    

     


    Shadowと愉快なコード達
    • 已標示為解答 手指 2011年8月18日 上午 05:30
    2011年8月18日 上午 05:16
  • 剛剛的問題不見了??

    可以寫多一次出來??

    是不是

    Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
            For Each element As HtmlElement In aa
                If element.GetAttribute("href") = "logging.php" Then
                    element.InvokeMember("click")

                End If
            Next

    2011年8月18日 上午 05:44
  • 大概是版主移動您的文章

     Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
    
      For Each element As HtmlElement In aa
       If element.GetAttribute("href").Contains("action=logout") Then
        element.InvokeMember("click")
       End If
      Next
    

     


    Shadowと愉快なコード達

    2011年8月18日 上午 05:45
  • 之前 ,你教過我 防呆 的方式,我有沒有寫錯??

      Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
            If aa Is Nothing Or aa Is Nothing Then
                a.GetAttribute("href").Contains("action=logout")

            Else
                a.InvokeMember("click")
            End If

     

    2011年8月18日 上午 05:54
  • 之前 ,你教過我 防呆 的方式,我有沒有寫錯??

      Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
            If aa Is Nothing Or aa Is Nothing Then
                a.GetAttribute("href").Contains("action=logout")

            Else
                a.InvokeMember("click")
            End If

     


    您可以先解釋一下這次想做什麼事?

    還有您認為上述程式碼的流程是什麼,小弟也比較好幫您


    Shadowと愉快なコード達

    2011年8月18日 上午 06:09
  • 我想,,如果 有登出,才按下去

    你之前教我用 防呆 的方式

    要變成 防呆 要怎樣寫?

    Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")

      For Each element As HtmlElement In aa
       If element.GetAttribute("href").Contains("action=logout") Then
        element.InvokeMember("click")
       End If
      Next

    2011年8月18日 上午 06:12
  • 我想,,如果 有登出,才按下去

    你之前教我用 防呆 的方式

    要變成 防呆 要怎樣寫?

    Dim aa As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")

      For Each element As HtmlElement In aa
       If element.GetAttribute("href").Contains("action=logout") Then
        element.InvokeMember("click")
       End If
      Next

    上述的程式碼不可以嗎?


    Shadowと愉快なコード達
    2011年8月18日 上午 06:34
  • 可以把網頁的字,,顯示在Label1?

    例如:http://hk.yahoo.com/

    網頁中有熱門這個字,,可以找取這個字,在Label1顯示??

    2011年8月20日 上午 09:48
  • 沒有人回答T_T

    是不是不可以的??

    2011年8月20日 下午 12:49
  • 答: 可以

    到目前為止, 你問的問題答案差不多都是同一個, 如果你要別人幫你寫程式, 不如找地方發包.

    因為前面你問的裡面有一大堆都在告訴你怎麼達成這個目的. 但你居然到現在還在問一樣的問題, 你認為別人還有力氣回答你嗎 ?

     

    • 已提議為解答 河蟹魂 2011年8月20日 下午 01:20
    2011年8月20日 下午 01:18
  • 2011年8月20日 下午 01:24
  • 其實我都是想學習寫vb的

    我有很多的地方都不明白,沒有人教我= =

    我只好問你們

    可以給我網頁/教學?

    請給我一個方向= =


    2011年8月20日 下午 01:30
  • 可以說多一些? = =

    2011年8月20日 下午 01:37
  • HK 沒有教育訓練中心嗎?

    依你目前的狀況,最好是去上課比較好。


    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure
    2011年8月20日 下午 01:41
    版主
  • 沒有錢= =

    不能答我嗎?
    2011年8月20日 下午 01:45
  • 沒有錢= =

    不能答我嗎?


    網路上有免費資源可以學習

    http://social.msdn.microsoft.com/Forums/zh-TW/232/thread/03612c75-3b78-4a95-8f35-e3ebd06058a8

    世上無難事,只怕有心人: )


    Shadowと愉快なコード達

    2011年8月20日 下午 01:55
  • 不是不行,但你別忘了,在這裡的網友也是在花時間回答你,他們的時間也是時間。

    還有,建議你不要亂用表情符號 (連 "= =" 也是),因為這會讓我們覺得你很不屑或不耐煩 ("= =" 有這種潛在的意思),表情符號會顯示當下你的情緒狀況,最好不要亂用。 


    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure
    2011年8月20日 下午 01:55
    版主
  • 明白 =]
    2011年8月20日 下午 02:01
  • 其實我都是想學習寫vb的

    我有很多的地方都不明白,沒有人教我= =

    我只好問你們

    可以給我網頁/教學?

    請給我一個方向= =



    學習程式設計, 第一個是要把基礎打好, 而不是先學一些花俏的東西.

    [MSDN繁體中文學習園地]

    [Visual Studio 2010 - Visual Basic]

    另外一個重點是, 當你看到一段程式可以解決你的問題, 不是直接複製貼上就以為解決了, 要花時間去思考這一段程式的內容倒底是什麼? 解決問題的原理在哪裡 ?

    否則不叫學習, 只是剪剪貼貼而已.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2011年8月20日 下午 02:13
    版主
  • 其實我都是想學習寫vb的

    我有很多的地方都不明白,沒有人教我= =

    我只好問你們

    可以給我網頁/教學?

    請給我一個方向= =

     

    如果你自己是回文者,看了這段話,就會令人反感。自己的作業自己寫,自己的工作自己做,自己的問題自己解決,自己的屁股自己擦。

    你在學校會用這種語氣問老師問題嗎?師者,所以傳道、授業、解惑者也。

    網友不需要你當成老師般的敬重,但起碼的尊重、禮貌是必須的,這也是做人做事的道理吧?你會這樣向你學長問話或是跟公司的前輩問話嗎?

     

    既有討論:

    http://social.msdn.microsoft.com/Search/zh-TW/?Refinement=112&query=WebClient%20RegEx


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年8月20日 下午 02:14