jsoup не может парс javascript что мне делать? - PullRequest
0 голосов
/ 02 апреля 2020

Я столкнулся с проблемой и застрял с ней. Я хочу загрузить указанный c div класс с помощью jsoup в моем веб-представлении в android. Я сделал это, но проблема в том, что jsoup не может разобрать javascript, и я не могу получить доступ к своему указанному c классу. Я пробовал много способов, я искал это. Я видел много постов о селене apium et c, но полностью запутался и не смог их использовать. вот мой код:

public class MainActivity extends AppCompatActivity {

String url = "https://sepehr.irib.ir/?idc=32&idt=tv&idv=1";
Document doc;
Elements el;
WebView view;
static String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    view = findViewById(R.id.webView);


    view.getSettings().setJavaScriptEnabled(true);

    view.loadUrl("https://sepehr.irib.ir/?idc=32&idt=tv&idv=1");


  loadArticleWithHTML();


}

public void loadArticleWithHTML (){
    Thread downloadThread = new Thread() {
        public void run() {
            try {
                doc = Jsoup.connect("https://sepehr.irib.ir/?idc=32&idt=tv&idv=1").userAgent(USER_AGENT).get();
                el = doc.select(".videoContent");

            } catch (java.io.IOException e){

            }
            if (el == null) {
                Log.e("error", "There is a problem with the selection");
            } else {
                // post a new Runnable from a Handler in order to run the WebView loading code from the UI thread
                new Handler(Looper.getMainLooper()).post(new Runnable() {
                    @Override
                    public void run() {
                       view.loadData(el.toString(), "text/html", "UTF-8");




                    }
                });
            }
        }
    };

    view.setWebViewClient(new WebViewClient() {
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Toast.makeText(getApplicationContext(), description, Toast.LENGTH_SHORT).show();
        }
    });

    downloadThread.start();
}

}

мой URL: "https://sepehr.irib.ir/?idc=32&idt=tv&idv=1"

, и я хочу получить тег видео с идентификатором = "видео-идентификатор". Моя цель - получить это видео и показать его в моем приложении. Буду благодарен за любую помощь.

...