2013-04-08 56 views
1

我想學習如何:Java如何打開URL並插入URL用戶名和密碼?

第一步:打開URL - 例如Gmail的

第二步:將用戶名和密碼,並按下登錄。

如何插入用戶名和密碼並按登錄按鈕?

我需要/必須使用硒?

這個代碼僅用於打開瀏覽器(步驟1)

import java.io.IOException; 

public class Website 
{ 

public void openWebsite() //throws IOException 
{ 
    try 
    { 
     @SuppressWarnings("unused") 
Process p = Runtime.getRuntime().exec("cmd /c start http://accounts.google.com/ServiceLogin "); 
    } 
    catch (IOException e1) 
    { 
     System.out.println(e1); 
    } 
} 
}  
+0

是的,你需要使用Selenium的東西 – 2013-04-08 14:40:54

+0

不一定。使用像螢火蟲這樣的工具來查找用戶名/密碼的輸入字段的表單和名稱。然後使用表單的輸入字段向'action' url請求。你不會使用你的瀏覽器,只是java。 – 2013-04-08 14:43:08

回答

1

首先,你需要打開URL。現在你實際上是而不是打開網址。您正在問Windows操作系統「您將使用http://accounts.google.com/ServiceLogin做什麼?」

因爲它是窗口,它將使猜測,那種下面這條線的邏輯:

it sort of looks like a URL, so I'll fire up explorer and 
ask explorer to do something with it. 

這意味着你的代碼是現在幾個項目離能夠得到數據,而且沒有任何中間程序會(因爲它們不是這樣做的),將輸入的需求傳輸到你的程序中。

你需要做的是避免要求其他程序打開URL,這只是太成問題了。首先,他們可能會弄錯,其次他們永遠不會知道如何問你輸入。要打開直接在網址:

import java.net.URL; 

... somewhere in the code ... 

    URL url = new URL("http://accounts.google.com/ServiceLogin"); 
    InputStream in = url.openStream(); 

做各種的java.net.URL教程一些google搜索,你很快就會發現,以處理您的特定憑證的挑戰需要技術的正確組合。 Here's one resource, but it seems you need to do a bit of homework before what they say will make sense to you。如果你絆倒了,至少你會有更好,更具體的問題來問下一次(並且不要忘記發佈你的源代碼)。

相關問題