بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

چگونه همچین برنامه ایی را بسازم؟(تغییر سورس کد های Html)

مدیریت گفتگو
Criss 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان

من قصد دارم برنامه ای رو بسازم که به این ادرس بره<

http://10.8.206.66:8081/

و یوزنیم و پسور رو وارد کنه < و مقدار درون

 <span id="ctl00_ContentPlaceHolder1_lblRemainCredit">25GB 453MB </span>


که برابر 25GB 453MB هست رو بخونه < و درون برنامه نمایش داده بشه <

ما بقی موارد هم هست < که اگه این مورد جواب بده < الباقی هم به نتیجه می رسه <

نظرات

learnpro 11 سال پیش
واسه گرفتن مقدار یه تگ میتونید از کتابخونه Jsoup استفاده کنید. لینک
Criss 11 سال پیش
برای وارد گردن مقدار چطور ؟
learnpro 11 سال پیش
منظورتون رو متوجه نشدم میخواید به یه تگ مقدار بدید ؟

پاسخ‌ها 5

Criss 11 سال پیش

برای اینکه بهتر منظورم رو متوجه بشید <

کد های زیر رو با پسوند .vbs ذخیره و اجرا کنید < بجای USERNAME , PASSWORD هم اطلاعات اکانت خودتون رو بزارید <
 میبینید که وارد سایت انکو کودر میشید <

Set objExplorer = WScript.CreateObject("InternetExplorer.Application")

objExplorer.Navigate "http://uncocoder.com/%D9%88%D8%B1%D9%88%D8%AF"
objExplorer.Visible = 1
objExplorer.ToolBar = 1
objExplorer.StatusBar = 1
objExplorer.Width=900
objExplorer.Height = 700
objExplorer.Left = 0
objExplorer.Top = 0

Do While (objExplorer.Busy)
Wscript.Sleep 200
Loop

Set Helem = objExplorer.document.getElementByID("username")
Helem.Value = "USERNAME" ' change this to yours
Set Helem = objExplorer.document.getElementByID("password")
Helem.Value = "PASSWORD" ' change this to yours
Set Helem = objExplorer.document.Forms(0)
Helem.Submit

حالا من عین همین کد رو برای java میخوام ! البته اگر خروجی هم نشون بده که خیلی خوب میشه <

نظرات

learnpro 11 سال پیش

توسط این متد میتونید مقدار یه تگ رو بگیرید ولی اینکه  چطوری میشه مقدار داد رو نمیدونم.

  HttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet(www.test.com);//لینک سایت مربوطه
HttpResponse response = client.execute(method);
InputStream stream = response.getEntity().getContent();
String result = inputestreamToString(stream);
Document doc = Jsoup.parse(result);
Elements mElements = doc.select("span[id^=ctl00_ContentPlaceHolder1_lblRemainCredit]");
Result = mElements.get(0).text();




private static String inputestreamToString(InputStream inputStream)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
String line;
try
{
while ((line = reader.readLine()) != null)
{
builder.append(line);
}
return builder.toString();
}
catch (Exception e)
{
e.printStackTrace();
}
return "";

}

نظرات

Criss 11 سال پیش
توی خط ششم Jsoup یک لایبری هست ؟ برای من شناخته نمیشه !
Spirit 11 سال پیش
بله Jsoup یه کتابخونه برای parse کردن صفحات وب هست.
Criss 11 سال پیش

من جواب اینکه چطور یک مقدار رو در فیلد های HTML وارد کنبم رو پیدا کردم < لینک

اما چطور میتونم مقدار درون یک المنت رو بخونم ؟

از این کد استفاده میکنم < که نیازی به لایبری نداره <

mWebview.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");
mWebview.loadUrl("http://www.cloob.com");

mWebview.setWebViewClient(new WebViewClient() {

@Override
public void onPageFinished(WebView view, String url) {

mWebview.loadUrl("javascript:window.HtmlViewer.showHTML" +
"(document.getElementsByTagName('html')[0].innerHTML);");
}
});


class MyJavaScriptInterface {

private Context ctx;


MyJavaScriptInterface(Context ctx) {
this.ctx = ctx;
}


public void showHTML(String html) {
new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html)
.setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show();
}
}

که تمام کد های  html رو بهم میده

میخوام مقدار درون یک btn رو از روی html دریافت کنم < اما ممکن نیست !

 
mWebview.loadUrl("javascript:window.HtmlViewer.showHTML" +
"(document.getElementsByClassName('btn')[0].innerHTML);");

از کد بالا که استفاده میکنم مقدار خالی بهم میده

 mWebview.loadUrl("javascript:window.HtmlViewer.showHTML" +
"(document.getElementsByClassName('btn')[0].value.innerHTML);");

و از این کد هم که استفاده میکنم میگه Undefined !

مشکل از چیه ؟
دقیقا باید چی رو وارد کنم ؟ ممنون میشم راهنمایی کنید <

 

نظرات

Criss 11 سال پیش

خب با استفاده از این کد تونستم تا جایی که ممکنه به چیزی که میخوام نزدیک بشم<

هم چنان یک استرینگ خالص رو بیرون نمیده <

 mWebview.loadUrl("javascript:window.HtmlViewer.showHTML" +
"(document.getElementsByClassName('loginAuth_formSubmit clearfix')[0].innerHTML);");
}

چیز دیگه ایی هم که متوجه شدم < این هست که فقط اسم کلاس هایی که در قسمت DIV تعریف شده اند رو میتونم جای گذاری کنم !

 

نظرات

Criss 11 سال پیش

از این کد هم که استفاده می کنم باز هم میگه undefined !

 "(document.getElementsByClassName('loginAuth_formSubmit clearfix')[0].getElementsByTagName('btnSubmit').innerHTML);");

 

 

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .