wangrong
2024-12-10 9d5a2a788bedb68e99c080ed77e7e0e5051e90d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.shsening.autouploadvideos
 
 
import android.webkit.WebView
 
 
object WebviewUtils {
 
    fun addValueToInput(webView:WebView,jsPath: String, targetValue: String) {
        val safeTargetValue = if (targetValue.length > 30) targetValue.substring(0, 30) else targetValue
        val jsCode = """
        try{
           var input_ = document.querySelector('${jsPath}');
           if (input_) {
              input_.value = '${safeTargetValue}'; 
              input_.dispatchEvent(new Event('input', { bubbles: true })); 
           }
        } catch (error) {
          console.error('发生错误:', error);
        }
    """
        webView?.evaluateJavascript(jsCode, null)
    }
 
    fun addValueToDiv(webView:WebView,jsPath: String, targetValue: String) {
        val jsCode = """
            try{
                const titleElement = document.querySelector('${jsPath}');
                if (titleElement) {
                    titleElement.click(); 
                    titleElement.textContent= '${targetValue}';
                }
            }catch (error) {
                 console.error('发生错误:', error);
            }
        """
        webView?.evaluateJavascript(jsCode, null)
    }
 
    fun simpleElementClick(webView:WebView,jsPath:String){
        // 模拟Click事件
        val clickScript = """
            try{
             var element = document.querySelector('${jsPath}')
             if(element){
               element.focus();
               element.click();
              }
             }catch (error) {
                 console.error('发生错误:', error);
            }
    """.trimIndent()
        webView.evaluateJavascript(clickScript, null)
 
    }
 
    fun simpleSimulateMouseDown(webView:WebView,jsPath:String){
        // 模拟MouseDown事件
        val clickScript = """
            try{
             var element = document.querySelector('${jsPath}')
             if(element){
               element.dispatchEvent(new MouseEvent('mousedown', {view: window,bubbles: true,cancelable: true}));
              }
             }catch (error) {
                 console.error('发生错误:', error);
            }
    """.trimIndent()
        webView.evaluateJavascript(clickScript, null)
    }
}