HtmlUnit: TypeError: невозможно прочитать свойство mousedown из нуля

ubable нажать кнопку ввода в htmlunit с помощью JAVA, когда я пытаюсь выполнить следующий код, он дает мне исключение «TypeError: невозможно прочитать свойство «mousedown» из нуля»

    HtmlSubmitInput search_button = (HtmlSubmitInput) page.getByXPath(".//*[@id='ctl00_ContentPlaceHolder1_PortalPageControl1_ctl08_PSCDocumentSearchControl1_searchButton']").get(0);
        HtmlPage results_page = search_button.click();

Я также пытался преобразовать кнопку в HtmlButton и HtmlElement.

может ли кто-нибудь сказать мне, что лучше всего использовать для типа ввода "отправить"


person Tasawer Nawaz    schedule 17.09.2014    source источник
comment
Как попробовать с xpath "//input[@id='<yourid>']" ???   -  person Wundwin Born    schedule 17.09.2014


Ответы (2)


ну, я использовал htmlunit обоими способами для анализа страницы. Способ xpath немного более безопасен для запроса элемента, но вы должны знать точное имя. Findbyid или findbyname проще, но если определенный веб-сайт использует фреймворк, то идентификаторы и имена html-элементов не будут одинаковыми, однако xpath будет. поэтому я бы посоветовал сначала попробовать получить кнопку по идентификатору или по имени, чтобы убедиться, что она работает.

  HtmlSubmitInput button = form.getInputByName("searchButton");
  HtmlPage page2 = button.click();
person AntJavaDev    schedule 17.09.2014

Я нашел решение, но я не знаю, как именно оно работает, когда я добавляю некоторую задержку перед нажатием кнопки, оно работает нормально, возможно, из-за некоторой загрузки JS.

    HtmlSubmitInput search_button = (HtmlSubmitInput) page.getByXPath(".//*[@id='ctl00_ContentPlaceHolder1_PortalPageControl1_ctl08_PSCDocumentSearchControl1_searchButton']").get(0);
    Thread.sleep(10000);
    HtmlPage results_page = search_button.click();
person Tasawer Nawaz    schedule 18.09.2014