3 function getElement(xpath) {
4 var polterAgent = window.__poltergeist;
5 var ids = polterAgent.find("xpath", xpath, document);
6 var polterNode = polterAgent.get(ids[0]);
7 return polterNode.element;
10 function inputRadioGetValue(element){
12 var name = element.getAttribute('name');
16 var fields = window.document.getElementsByName(name);
18 var l = fields.length;
19 for (i = 0; i < l; i++) {
20 var field = fields.item(i);
21 if (field.form === element.form && field.checked) {
28 var node = getElement(xpath);
29 var tagName = node.tagName.toLowerCase();
31 if (tagName == "input") {
32 var type = node.type.toLowerCase();
33 if (type == "checkbox") {
34 value = node.checked ? node.value : null;
35 } else if (type == "radio") {
36 value = inputRadioGetValue(node);
40 } else if (tagName == "textarea") {
42 } else if (tagName == "select") {
45 for (var i = 0; i < node.options.length; i++) {
46 if (node.options[i].selected) {
47 value.push(node.options[i].value);
51 var idx = node.selectedIndex;
53 value = node.options.item(idx).value;