ich möchte gerne per Java Swing eine Anwendung schreiben, die beispielsweise auf der Startseite bei Google das Suchtextfeld erkennt. Dort möchte ich dann mittels der Anwendung ein Suchbegriff eingeben. Der Suchbegriff wäre zb.: "Ich suche".
Die Anwendung soll dann den Suchbutton erkennen und diesen aktivieren.
Ich möchte aber nicht über Java.net zb. folgendes schicken:
Google
is doch nach außen aber genau das gleiche wie eingeben+button. Der Googleserver kennt keinen Unterschied.
Soll die google seite in deinem program sein, oder willst du zb mit deinem programm in firefox rumpfuschen?
wie stellst du dir das "aktivieren" vor?
eigentlich musst du ja nur den html code nach den typischen frames mit editbox/button durchsuchen.
chrome macht das ja auch, man kann in jedes suchfeld rechtsklick machen und es als schnellsuche hinzufügen.
für sowas eignet sich "AutoIt" deutlich besser ... denn mit java in fremden prozessen rumpfuschen ... das wird nichts ... dafür stellt glaub ich kein browser-entwickler ne schnittstelle bereit ...
wobei eigentlich gerade firefox dank seiner millionen von add-ons stark customized werden kann und es auch sicher n add-on gibt was die steuerung über java ermöglicht ... so ist dieses "browser über java steuern" hier immer wieder ein beliebtes thema was meist mit "nutz andere tools" bis hin zu "geht nicht" beantwortet wird ..
importorg.apache.commons.httpclient.HttpClient;importorg.apache.commons.httpclient.HttpStatus;importorg.apache.commons.httpclient.methods.PostMethod;importjava.io.BufferedReader;importjava.io.InputStreamReader;publicclassPostMethodExample{publicstaticvoidmain(String args[]){HttpClient client =newHttpClient();
client.getParams().setParameter("http.useragent","Test Client");BufferedReader br =null;PostMethod method =newPostMethod("http://search.yahoo.com/search");
method.addParameter("p","\"java2s\"");try{int returnCode = client.executeMethod(method);if(returnCode ==HttpStatus.SC_NOT_IMPLEMENTED){System.err.println("The Post method is not implemented by this URI");// still consume the response body
method.getResponseBodyAsString();}else{
br =newBufferedReader(newInputStreamReader(method.getResponseBodyAsStream()));String readLine;while(((readLine = br.readLine())!=null)){System.err.println(readLine);}}}catch(Exception e){System.err.println(e);}finally{
method.releaseConnection();if(br !=null)try{ br.close();}catch(Exception fe){}}}}