Войдите в webpge используя Jsoup - PullRequest
0 голосов
/ 08 июня 2019

Я разрабатывал приложение, которое будет входить на данный веб-сайт и извлекать из него некоторую информацию, но я пытался не понять, вошел ли он в систему или нет.Пожалуйста, помогите мне с этим!

final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36";
    //final String LOGIN_FORM_URL = "http://103.253.211.190/GLBBlackBoard/Home/default.aspx";
    final String USERNAME = "0171cs074";
    final String PASSWORD = "dedsec";

  //Go to login page
    Connection.Response login = Jsoup.connect(LOGIN_FORM_URL)
                                     .method(Connection.Method.GET)
                                     .userAgent(USER_AGENT)
                                     .execute();
    // find form

    FormElement loginForm = (FormElement)login.parse().select("form").first();
  checkElement("Login Form", loginForm);
    //usernsme

  Element loginField = loginForm.select("input#username.normal").first();
  checkElement("Login Field", loginField);
  loginField.val(USERNAME);

    //pass

  Element passwordField = loginForm.select("input#password.normal").first();
  checkElement("Password Field", passwordField);
  passwordField.val(PASSWORD);


  //login
  Connection.Response loginActionResponse = loginForm.submit()
          .cookies(login.cookies())
          .userAgent(USER_AGENT)
          .execute();

  System.out.println(loginActionResponse.parse());
}

private static void checkElement(String name, Element elem) {
    if (elem == null) {
        throw new RuntimeException("Unable to find " + name);

1 Ответ

0 голосов
/ 28 июня 2019

Использование Selenium WebDriver для этой операции может быть действительно эффективным,

Пожалуйста, убедитесь, что вы правильно указали путь к веб-драйверу, и если есть что-то еще, не стесняйтесь комментировать.

следующеекод для формы входа в систему и для получения сообщения об ошибке, отображаемого в форме после нажатия входа в систему.

public class GLBBlackBoard {

public static void main(String[] args) throws InterruptedException {

    System.setProperty("webdriver.chrome.driver", "D:\\Tushar\\JARs\\selenium\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();

    driver.get("http://103.253.211.190/GLBBlackBoard/Home/default.aspx");
    driver.manage().window().maximize();

    final String username = "0171cs074";
    final String password = "dedsec";

    List<WebElement> ele = driver.findElements(By.cssSelector("input.inputbox"));
    WebElement w1 = ele.get(0);
    WebElement w2 = ele.get(1);

    w1.sendKeys(username);
    Thread.sleep(1000);
    w2.sendKeys(password);
    Thread.sleep(1000);

    WebElement login = driver.findElement(By.id("ctl00_ctl00_ContentPaneLeft_ctlLogin1_Button1"));
    login.click();

    WebElement msg = driver.findElement(By.id("ctl00_ctl00_ContentPaneLeft_ctlLogin1_lblMessage"));

    System.out.println(msg.getText());

}}

попробуйте отладку кода несколько раз, чтобы лучше понять.

...