WebBrowser/Tools/Scripts.py

branch
QtWebEngine
changeset 4731
67d861d9e492
parent 4729
fc8d00860717
child 4733
ae291a307ea6
diff -r fc8d00860717 -r 67d861d9e492 WebBrowser/Tools/Scripts.py
--- a/WebBrowser/Tools/Scripts.py	Tue Feb 09 20:29:26 2016 +0100
+++ b/WebBrowser/Tools/Scripts.py	Wed Feb 10 20:00:09 2016 +0100
@@ -96,7 +96,7 @@
                 e.play();
             else
                 e.pause();
-            }})()"""
+        }})()"""
     return source.format(pos.x(), pos.y())
 
 
@@ -115,5 +115,42 @@
             if (!e)
                 return;
             e.muted = !e.muted;
-            }})()"""
+        }})()"""
     return source.format(pos.x(), pos.y())
+
+
+def getFormData(pos):
+    """
+    Function generating a script to extract data for a form element.
+    
+    @param pos position to extract data at
+    @type QPoint
+    @return script to extract form data
+    @rtype str
+    """
+    source = """
+        (function() {{
+            var e = document.elementFromPoint({0}, {1});
+            if (!e || e.tagName != 'INPUT')
+                return;
+            var fe = e.parentElement;
+            while (fe) {{
+                if (fe.tagName == 'FORM')
+                    break;
+                fe = fe.parentElement;
+            }}
+            if (!fe)
+                return;
+            var res = {{
+                method: fe.method.toLowerCase(),
+                action: fe.action,
+                inputName: e.name,
+                inputs: [],
+            }};
+            for (var i = 0; i < fe.length; ++i) {{
+                var input = fe.elements[i];
+                res.inputs.push([input.name, input.value]);
+            }}
+            return res;
+        }})()"""
+    return source.format(pos.x(), pos.y())

eric ide

mercurial