Авторизуйтесь автоматически через webview и получите источник авторизованной страницы. - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь автоматически войти на сайт и получить источник веб-страницы после входа. Но мой код не работает, и он ничего не сделал. Может ли кто-нибудь проверить мой код? Я попытался ввести имя пользователя и пароль и нажать кнопку входа через javascript и получить страницу входа, но в веб-просмотре ничего не произошло. Моя цель - запустить источник получения зарегистрированной страницы без показа веб-просмотра пользователю.

public class MainActivity extends AppCompatActivity {

String userName="xxxxx";
String passWord="xxxxx";
String loginUrl = "https://ginikopersian.com/myaccount.php?id=549";

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";


WebView myWebView;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    myWebView = findViewById(R.id.myWebView);
    myWebView.getSettings().setUserAgentString(USER_AGENT);
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.getSettings().setDomStorageEnabled(true);
    myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    myWebView.setWebViewClient(new WebViewClient(){
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
           myWebView.loadUrl("javascript: {" +
                    "document.getElementById('email').value = '" + userName + "';" +
                    "document.getElementById('password').value = '" + passWord + "';" +
                    "document.getElementsByClassName('button button-3d button-black nomargin  button-reveal').return signin();" +
                    "};");


        }

        @Override
        public void onLoadResource(WebView view, String url) {
        }
    });
    myWebView.setWebChromeClient(new WebChromeClient(){

    });

    myWebView.loadUrl(loginUrl);



}
}
...