• 01-01-2016, 16:16:58
    #1
    Merhabalar arkadaşlar, android ve WebView kullanarak çok basit bir uygulama yapacağım.

    HTML taglarındaki id bilgisine göre tıklatma işlemi gerçekleştirmek istiyorum. Bunu nasıl yapabilirim? Normal şartlarda C# ile çok rahat yapabiliyordum ama Android üzerinde bir türlü yapamadım. Android'de yeni olmamdan kaynaklıdır belkide.

    Tam olarak yapmak istediğim şey şudur:

    Örneğin R10'da üst kısımdaki menüde yer alan "Favoriler"e tıklatmak istiyorum ama; bunu yaparken kullanıcı android uygulamasındaki butona tıklayacak. Yani android uygulaması üzerindeki butona tıklatarak aslında R10 üzerindeki "Favoriler" menüsüne tıklamış olacak.

    C#'ta ben HMTL kodunu analiz edip, id bilgisini alıp, o id bilgisi üzerinden tıklama işlemini gerçekleştirebiliyordum.

    Mesela R10 menüsündeki "Favoriler" kısmının "id" bilgisi aşağıdaki koddan da göreceğiniz üzere; id="favorilerpopup" olarak gözüküyor.

    <td style="cursor: pointer;" id="favorilerpopup" class="vbmenu_control"><a href="#favorilerpopup">Favoriler</a> <script type="text/javascript"> vbmenu_register("favorilerpopup"); </script> <img alt="" title="" src="images/misc/menu_open.gif" border="0"></td>
    İşte ben bu id bilgisini kullanarak tıklatma işlemini gerçekleştirmek istiyorum. Bunun için Android kütüphanesindeki hangi özel fonksiyonlar kullanılıyor acaba?
  • 01-01-2016, 16:28:08
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Sayfa yüklendikten sonra:

    Sayfada jquery varsa:
    webView.load("javascript:$('#favorilerpopup').trigger('click')");
    Yoksa
    webView.load("javascript: document.getElementById('favorilerpopup').click()");
  • 01-01-2016, 17:42:53
    #3
    wika adlı üyeden alıntı: mesajı görüntüle
    Sayfa yüklendikten sonra:

    Sayfada jquery varsa:
    webView.load("javascript:$('#favorilerpopup').trigger('click')");
    Yoksa
    webView.load("javascript: document.getElementById('favorilerpopup').click()");
    Cevap için teşekkürler, peki kod içerisinde sadece id yok ise?

    şu şekilde:
    <div tabindex="0" style="-moz-user-select: none;" role="button" aria-pressed="false" class="src-tts ttsbutton jfk-button-flat jfk-button" aria-label="Dinleyin"><div class="jfk-button-img"></div></div>
  • 01-01-2016, 18:18:47
    #4
    pcmania adlı üyeden alıntı: mesajı görüntüle
    Cevap için teşekkürler, peki kod içerisinde sadece id yok ise?

    şu şekilde:
    <div tabindex="0" style="-moz-user-select: none;" role="button" aria-pressed="false" class="src-tts ttsbutton jfk-button-flat jfk-button" aria-label="Dinleyin"><div class="jfk-button-img"></div></div>
    Sayfada jquery yüklü ise şu şekilde yapılabilir diye düşünüyorum:

    $("body").find("[aria-label='Dinleyin']");
  • 01-01-2016, 21:02:24
    #5
    wika adlı üyeden alıntı: mesajı görüntüle
    Sayfada jquery yüklü ise şu şekilde yapılabilir diye düşünüyorum:

    $("body").find("[aria-label='Dinleyin']");
    Hocam ben en iyisi konuyu daha detaylı anlatayım. Ben yazımdaki uygulamaya seslendirme eklemek istiyorum. Bunun için TextToSpeech kütüphanesi kullanarak bir uygulama yazmak istedim ama Android emulatördeki sistem sesleri çalışmadığı için, TextToSpeech kodlarım sorunsuz bir şekilde çalıştığı için tabletten ses gelmiyor.

    Ben de içeriği Google Translate uygulamasına yazdırıp, oradan seslendirme yapabilirim diye düşündüm.

    Şuanda textView içeriğini sorunsuz bir şekilde, http get metodu sayesinde translete çubuğuna şu şekilde yazdırabiliyorum : https://translate.google.com/m/translate#en/tr/deneme

    Şu sayfa açıldıktan sonra yapmak istediğim şey ise, android uygulasındaki butona tıklanarak, translate sayfasında yer alan, alttaki mavi background'a sahip kısımda yer alan türkçe hoparlöre tıklatmak. Bu sayede textView'deki içerik sorunsuz bir şekilde kullanıcılar tarafından dinlenebilecek. Hedeflediğim şey tam olarak budur işte.

    Türkçe kısımda yer alan mavi arka plana sahip hoperlöre ait kodları bir de siz inceleyin. Çünkü belirttiğiniz yöntemler maalesef ki sonuç vermedi.
  • 01-01-2016, 23:56:14
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    pcmania adlı üyeden alıntı: mesajı görüntüle
    Hocam ben en iyisi konuyu daha detaylı anlatayım. Ben yazımdaki uygulamaya seslendirme eklemek istiyorum. Bunun için TextToSpeech kütüphanesi kullanarak bir uygulama yazmak istedim ama Android emulatördeki sistem sesleri çalışmadığı için, TextToSpeech kodlarım sorunsuz bir şekilde çalıştığı için tabletten ses gelmiyor.

    Ben de içeriği Google Translate uygulamasına yazdırıp, oradan seslendirme yapabilirim diye düşündüm.

    Şuanda textView içeriğini sorunsuz bir şekilde, http get metodu sayesinde translete çubuğuna şu şekilde yazdırabiliyorum : https://translate.google.com/m/translate#en/tr/deneme

    Şu sayfa açıldıktan sonra yapmak istediğim şey ise, android uygulasındaki butona tıklanarak, translate sayfasında yer alan, alttaki mavi background'a sahip kısımda yer alan türkçe hoparlöre tıklatmak. Bu sayede textView'deki içerik sorunsuz bir şekilde kullanıcılar tarafından dinlenebilecek. Hedeflediğim şey tam olarak budur işte.

    Türkçe kısımda yer alan mavi arka plana sahip hoperlöre ait kodları bir de siz inceleyin. Çünkü belirttiğiniz yöntemler maalesef ki sonuç vermedi.
    Merhaba,

    Peki güvenlik kodunu nasıl aşmayı hedefliyorsunuz ? Google belirli bir zaman sonra CAPTCHA sayfası çıkaracak karşınıza buna karşı bir şey düşündünüz mü ?

    Saygılarımla
  • 02-01-2016, 01:38:09
    #7
    Direk Google Translate Api'yi deneyebiilirsiniz. Çok daha kısa sürer yapmak istediğiniz.

    https://cloud.google.com/translate/docs
    https://gist.github.com/alotaiba/1728771
  • 03-01-2016, 02:12:19
    #8
    leonjade adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Peki güvenlik kodunu nasıl aşmayı hedefliyorsunuz ? Google belirli bir zaman sonra CAPTCHA sayfası çıkaracak karşınıza buna karşı bir şey düşündünüz mü ?

    Saygılarımla
    Öyle bir durum söz konusu olabilirdi tabi ama zaten üzerinde çalıştığım uygulama ticari değil, proje ödevim için geliştirdiğim uygulamanın bir parçası olabilir olacaktı sadece. Neyse ki öyle bir şey yapmaya gerek kalmadı. Text to Speech kütüphanesi ile yapmak istediğim işlemleri gerçekleştirdim. İlginiz için teşekkür ederim.

    wika adlı üyeden alıntı: mesajı görüntüle
    Direk Google Translate Api'yi deneyebiilirsiniz. Çok daha kısa sürer yapmak istediğiniz.

    https://cloud.google.com/translate/docs
    https://gist.github.com/alotaiba/1728771
    İlginiz ve yardımlarınız için çok teşekkür ederim hocam. Translate aracılığıyla seslendirmeye falan gerek kalmadı. Text to Speech kütüphanesi ile hallettim sorunu. TextToSpeech kütüphanesi ile kodlarım sorunsuz bir şekilde çalıştığı halde tabletten ses gelmiyor, demiştim. Bu sorunun sebebi tamamen emülatör kaynaklıymış meğerse. Gerçek bir android cihaz üzerinde uygulamayı test edince sorunsuz bir şekilde çalıştı. Uygulamayı yaptıktan seslendirme olayının gerçekleşmesi için, Google Text to Speech'in türkçe seslendirmesini tablete yüklemek yeterli oldu.