Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import org.apache.commons.io.FileUtils;
- import com.gargoylesoftware.htmlunit.WebClient;
- import com.gargoylesoftware.htmlunit.html.DomNode;
- import com.gargoylesoftware.htmlunit.html.HtmlButton;
- import com.gargoylesoftware.htmlunit.html.HtmlInput;
- import com.gargoylesoftware.htmlunit.html.HtmlNumberInput;
- import com.gargoylesoftware.htmlunit.html.HtmlPage;
- import com.gargoylesoftware.htmlunit.html.HtmlRangeInput;
- import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
- public class AutoAnswer {
- public static boolean handleObject(DomNode o, HtmlPage page, WebClient client) throws IOException {
- //debug
- Main_Win.dtrpnPagecontent.setText(o.toString());
- Main_Win.log("Handling Object: " + o);
- if(o instanceof HtmlInput) {
- HtmlInput i = (HtmlInput) o;
- if(i.getTypeAttribute().equalsIgnoreCase("checkbox")) {
- i.click();
- Main_Win.log("Checkbox checked");
- return false;
- } else if(i.getTypeAttribute().equalsIgnoreCase("text")) {
- // i.click();
- Main_Win.log("Entering text");
- ((HtmlTextInput)i).type("42069");
- Main_Win.log("Text entered");
- return false;
- } else if(i.getTypeAttribute().equalsIgnoreCase("number")) {
- i.click();
- HtmlNumberInput nb = (HtmlNumberInput) i;
- nb.type("42069");
- Main_Win.log("Number entered");
- return false;
- } else if(i.getTypeAttribute().equalsIgnoreCase("radio")) {
- Main_Win.log(i.getTypeAttribute());
- i.click();
- Main_Win.log("Radio clicked.");
- return false;
- } else if(i.getTypeAttribute().equalsIgnoreCase("range")) {
- HtmlRangeInput r = (HtmlRangeInput)i;
- r.setValueAttribute(r.getDefaultValue());
- Main_Win.log("Range set.");
- return false;
- } else if(i.getTypeAttribute().equalsIgnoreCase("submit")) {
- if(i.toString().contains("weiter") || i.toString().contains("Weiter")){
- Main_Win.log("LOGGING BUTTON RETURN PAGE--------");
- Main_Win.log("Page before click: " + page);
- page = Main.clickCorrectly(i, client);
- Main_Win.log("Page after click: " + page);
- Main_Win.log("Button clicked SUBMIT.");
- Main_Win.log("Button: " + i);
- Main_Win.log("URL: " + page.getUrl());
- Main_Win.log("END LOGGING BUTTON RETURN PAGE--------");
- return true;
- }
- } else if(i.getTypeAttribute().equalsIgnoreCase("button")) {
- if(i.toString().contains("weiter") || i.toString().contains("Weiter")){
- Main_Win.log("LOGGING BUTTON RETURN PAGE--------");
- Main_Win.log("Page before click: " + page);
- page = Main.clickCorrectly(i, client);
- Main_Win.log("Page after click: " + page);
- Main_Win.log("Button clicked INPUT.");
- Main_Win.log("Button: " + i);
- Main_Win.log("URL: " + page.getUrl());
- Main_Win.log("END LOGGING BUTTON RETURN PAGE--------");
- return true;
- }
- }
- } else if(o instanceof HtmlButton) {
- HtmlButton i = (HtmlButton)o;
- if(i.toString().contains("weiter") || i.toString().contains("Weiter")){
- Main_Win.log("LOGGING BUTTON RETURN PAGE--------");
- Main_Win.log("Page before click: " + page);
- page = Main.clickCorrectly(i, client);
- Main_Win.log("Page after click: " + page);
- Main_Win.log("Button clicked BUTTON.");
- Main_Win.log("Button: " + i);
- Main_Win.log("URL: " + page.getUrl());
- Main_Win.log("END LOGGING BUTTON RETURN PAGE--------");
- return true;
- }
- }
- Main_Win.log("Object couldn't be handeled: " + o + "\n");
- return false;
- }
- public static void completeIt(HtmlPage page, WebClient client) throws IOException {
- Main_Win.log("URL: " + page.getUrl());
- while(true) {
- boolean cont = false;
- for(Object o : page.getElementsByTagName("input")) {
- HtmlInput i = (HtmlInput)o;
- Main_Win.log("Input: " + i.asText());
- if(i.toString().contains("Weiter") || i.toString().contains("weiter")) {
- cont = true;
- }
- }
- for(Object o : page.getElementsByTagName("button")) {
- HtmlButton i = (HtmlButton)o;
- Main_Win.log("Button: " + i.asText());
- if(i.toString().contains("Weiter") || i.toString().contains("weiter")) {
- cont = true;
- }
- }
- Main_Win.log("Cont: " + cont);
- if(!cont) {
- Main_Win.log("End of survey reached, writing to file.");
- FileUtils.writeStringToFile(new File("C:\\xyz\\" + System.currentTimeMillis() + ".txt"), page.asText(), "UTF-8");
- break;
- }
- List<DomNode> elements = new ArrayList<DomNode>();
- elements.addAll(page.getElementsByTagName("input"));
- elements.addAll(page.getElementsByTagName("button"));
- for(DomNode e : elements) {
- if(handleObject(e, page, client)) {
- Main_Win.log(page.asText());
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement