получить ошибку «gtag» при выполнении события click JavaScript с использованием htmlunitdriver в java - PullRequest
0 голосов
/ 08 июня 2019

Я создаю приложение для курьера и хочу узнать время и расстояние между двумя точками с помощью пин-кода, Я нашел:

http://gstserver.com/tools/distance-between-pin-codes/

этот сайт, который предоставляет то же самое. Затем я создал для этого Java-приложение, но у меня возникли проблемы с htmlunitdriver.

Я пытался получить доступ к веб-сайту с помощью htmlunitDriver в Java-программе, также собрал все необходимые идентификатор элемента и классы, но всякий раз, когда я пытаюсь выполнить метод click (), он выдает ошибку gtag not found.

Я пробовал в консоли браузера

var x = document.getElementsByClassName('mb-3'); console.log(x[3].innerText);

это работает

//This code works without click() method in executeScript (10th line)

public void getDistance() {
    try{
        HtmlUnitDriver driver = new HtmlUnitDriver();

        driver.get("http://www.gstserver.com/tools/distance-between-pin-codes/");
        driver.setJavascriptEnabled(true);

        WebElement Origin = driver.findElementById("origin");
        WebElement Destination = driver.findElementById("destination");
        WebElement Submit = driver.findElementById("submit");
        driver.executeScript("document.getElementById('origin').value='490001';"
                + " document.getElementById('destination').value='491001'; "
                + " document.getElementById('submit').click(); "
                + "document.getElementsByClassName('mb-3')[0].innerText;"
                + "");
    }catch(Exception e){
        System.out.print("error : "+e);
}

в конце я просто хочу нажать кнопку и получить значение - console.log(document.getElementsByClassName('mb-3')[0].innerText) в переменной или другой альтернативе для получения внутреннего текста тега.

Какие-нибудь решения?

...