denediğim kod :

WebClient webClient = new WebClient(BrowserVersion.INTERNET_EXPLORER_8);
webClient.setJavaScriptEnabled(false);
webClient.setThrowExceptionOnScriptError(false);
HtmlPage currentPage = webClient.getPage("http://www.oid.hacettepe.edu.tr/cgi-bin/menuindex.cgi");
HtmlForm form = currentPage.getForms().get(0);  // forms correct
System.out.println(form.asXml());
HtmlTextInput name = form.getInputByName("login");
HtmlPasswordInput pass = form.getInputByName("passwd");
name.setValueAttribute("*****");
pass.setValueAttribute("*****");
HtmlSubmitInput button = form.getInputByName("SubmitName");
HtmlPage page2 = button.click();
System.out.println(page2.asText());

Sonuc : Exception in thread "main" com.gargoylesoftware.htmlunit.ElementNotFoundException: elementName=[input] attributeName=[name] attributeValue=[login] at com.gargoylesoftware.htmlunit.html.HtmlForm.getInputByName(HtmlForm.java:460) at hacettepe.Hacettepe.main(Hacettepe.java:34) Java Result: 1

Sitenin form bilgisi :

<form action="menu.cgi" method="post">
<tbody>

  <tr>

    <td>

      <font face="Tahoma" color="White" size="2">

        <b>

          Kullanıcı Kodu

        </b>

      </font>

    </td>

  </tr>

  <tr>

    <td>

      <ınput type="TEXT" name="login" value="" size="12" maxlength="12"/>

    </td>

  </tr>

  <tr>

    <td>

      <font face="Tahoma" color="White" size="2">

        <b>

          Şifre

        </b>

      </font>

    </td>

  </tr>

  <tr>

    <td>

      <ınput type="PASSWORD" name="passwd" value="" size="12" maxlength="12"/>

    </td>

  </tr>

</tbody>

<tbody>

  <tr>

    <td>

      <ınput type="SUBMIT" name="SubmitName" value="Tamam"/>

    </td>

  </tr>

</tbody>
</form>

hatamı söleyebilirseniz cok sevinirm .

soruldu: 24 Şub '13, 07:07

melihbaba's gravatar image

melihbaba
2015812
cevap kabul oranı: 25%

değiştirildi: 24 Şub '13, 07:36

Turgay%20Can's gravatar image

Turgay Can
8.4k63799


Merhaba, senin koda benzer sadece bir kaç satır ekledim(Exception'a düşmemesi, Css hataları gibi), sorun çıkmadı.

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;

/**
 *
 * @author turgay
 */
public class HtmlUnitLogin {

    static WebClient webClient = null;

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        try {
            webClient = new WebClient(BrowserVersion.FIREFOX_10);
            webClient.setThrowExceptionOnScriptError(false);
            webClient.setThrowExceptionOnFailingStatusCode(false);
            webClient.setCssEnabled(false);
            webClient.setRedirectEnabled(false);
            webClient.setJavaScriptEnabled(false);
            webClient.setThrowExceptionOnScriptError(false);
            HtmlPage currentPage = webClient.getPage("http://www.oid.hacettepe.edu.tr/cgi-bin/menuindex.cgi");
            HtmlForm form = currentPage.getForms().get(0);  // forms correct
            System.out.println(form.asXml());
            HtmlTextInput name = form.getInputByName("login");
            HtmlPasswordInput pass = form.getInputByName("passwd");
            name.setValueAttribute("**0*8**");
            pass.setValueAttribute("****897*");
            HtmlSubmitInput button = form.getInputByName("SubmitName");
            HtmlPage page2 = button.click();
            System.out.println(page2.asText());
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

Çıktı :

<form action="menu.cgi" method="post">
  <table align="CENTER">
    <tbody align="left">
      <tr>
        <td>
          <font face="Tahoma" color="White" size="2">
            <b>
              Kullanıcı Kodu
            </b>
          </font>
        </td>
      </tr>
      <tr>
        <td>
          <input type="text" name="login" value="" size="12" maxlength="12"/>
        </td>
      </tr>
      <tr>
        <td>
          <font face="Tahoma" color="White" size="2">
            <b>
              Şifre
            </b>
          </font>
        </td>
      </tr>
      <tr>
        <td>
          <input type="password" name="passwd" value="" size="12" maxlength="12"/>
        </td>
      </tr>
    </tbody>
  </table>
  <hr size="2" noshade="" width="85%"/>
  <table align="CENTER">
    <tbody align="left">
      <tr>
        <td>
          <input type="submit" name="SubmitName" value="Tamam"/>
        </td>
      </tr>
    </tbody>
  </table>
</form>

HATA SAYFASI
Kullanıcı Kodu
Şifre

Uyarı!
Şifreniz bulunamadı!

Tamam
permanent link

cevaplandı: 24 Şub '13, 07:48

Turgay%20Can's gravatar image

Turgay Can
8.4k63799
cevap kabul oranı: 18%

değiştirildi: 24 Şub '13, 07:49

çok garip senin konunu kopyaladım yapıştırdım hala exception yiyorum cevabın içinde ayrıca teşekkür ederim.

(24 Şub '13, 08:12) melihbaba melihbaba's gravatar image

htmlunit ile birlikte dısardan eklediğin kütüphaneler var mı acaba ? htmlunit 2.11 Osgi kullanıyorum ben.

(24 Şub '13, 08:18) melihbaba melihbaba's gravatar image
1

OSGİ değilde direkt zip halindekini kullanmıştım sanırım. Bu arada kütüphanenin dependency 'leri mevcut, onlarıda ekle. http://htmlunit.sourceforge.net/dependencies.html

(24 Şub '13, 08:24) Turgay Can Turgay%20Can's gravatar image

Teşekkür ederim.

(24 Şub '13, 08:27) melihbaba melihbaba's gravatar image

her htlmunit kütüphanesini denedim olmadı malesef exceptiondan kurtulamadım.En azından benden kaynaklı bişi bunu biliyorum :D

(24 Şub '13, 09:09) melihbaba melihbaba's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,080
×2

Soruldu: 24 Şub '13, 07:07

Görüntüleme: 762 kez

Son güncelleme: 24 Şub '13, 09:09

powered by BitNami OSQA