Mit WebView Wert einer Homepage auslesen und setzen

kukuk

kukuk

App-Anbieter (kostenlos)
Threadstarter
Hallo alle miteinander,

ich versuche gerade mein VB.net Projekt auch für Android zur Verfügung zu stellen. Leider gelingt mir das nicht, da ich im Netz nichts funktionierendes finde bzgl. ID einer HTML Seite auslesen / zu setzen.

Kann mir jemand sagen wie ich das in Android mit einer WebView machen kann?

Das habe ich bis jetzt geschafft:

Code:
final  WebView wv = (WebView)findViewById(R.id.webview);
        wv.setWebViewClient(new WebViewClient());
        wv.loadUrl("http://192.168.0.234/debug/clip.html");
        wv.getSettings().setJavaScriptEnabled(true);


        Button button = (Button)findViewById(R.id.button1);


button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

String ABC = "was fuckt";
        Toast.makeText(MainActivity.this, "" + web.getTitle().toString(), Toast.LENGTH_SHORT).show();



        wv.evaluateJavascript(
                "javascript: (function(){document.getElementById('commandurl').value ='\"" + ABC + "\"';})();\"",
                new ValueCallback<String>() {
                    @Override
                    public void onReceiveValue(String html) {
                        Toast.makeText(MainActivity.this, "" + html.toString(), Toast.LENGTH_SHORT).show();
                        // code here
                    }
                });


    }
});
Mein VB.net Code

Value eines Elements auslesen:
Code:
htmlElement = webbrowser1.Document.GetElementById("commandurl")     
htmlElement.SetAttribute("value", "")

Button drücken:
Code:
Dim hecLogin = webbrowser1.Document.GetElementsByTagName("button")
        For Each he As System.Windows.Forms.HtmlElement In hecLogin
            If he.InnerText = "" & action_button Then
                he.InvokeMember("click")
            End If
        Next
 
Zuletzt bearbeitet:
kukuk

kukuk

App-Anbieter (kostenlos)
Threadstarter
Für alle, die was ähnliches Vorhaben und nach ca. 10h verzweifelt sind hier die Lösung die funktioniert:
Code:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <!--Set application-wide security config using base-config tag.-->
    <base-config cleartextTrafficPermitted="true"/>
</network-security-config>

<application
    android:networkSecurityConfig="@xml/network_security_config"

<uses-permission android:name="android.permission.INTERNET" />


wv = (WebView)findViewById(R.id.webview);
wv.setWebViewClient(new WebViewClient());
wv.loadUrl("http://192.168.0.234/debug/clip.html");
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setDomStorageEnabled(true);




public void run_function(String action_code){

        wv.evaluateJavascript(
                "(function() { return (getHTML('" + action_code + "')); })();",
                new ValueCallback<String>() {
                    @Override
                    public void onReceiveValue(String html) {
                        Toast.makeText(MainActivity.this, "" + html.toString(), Toast.LENGTH_SHORT).show();
                        // code here
                    }
                });


    }


public void read_html_value(){
    wv.evaluateJavascript(
            "(function() { return (document.getElementsByName('commandurl')[0].value); })();",
            new ValueCallback<String>() {
                @Override
                public void onReceiveValue(String html) {
                    Toast.makeText(MainActivity.this, "" + html.toString(), Toast.LENGTH_SHORT).show();
                    // code here
                }
            });


}

public void write_html_value(){
    wv.evaluateJavascript(
            "(function() { return (document.getElementsByName('commandurl')[0].value = 'Dies ist ein Test'); })();",
            new ValueCallback<String>() {
                @Override
                public void onReceiveValue(String html) {
                    Toast.makeText(MainActivity.this, "" + html.toString(), Toast.LENGTH_SHORT).show();
                    // code here
                }
            });

}
 
Zuletzt bearbeitet:
Oben Unten