2014-09-17 2 views
0

ubable нажать на кнопку ввода в HtmlUnit с помощью JAVA, когда я пытаюсь следующий код дает мне исключение «TypeError: Не удается прочитать свойство„MouseDown“от нуля»HtmlUnit: 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

может любой сказать мне, что было бы лучше всего забрасывать для входного типа «отправить»

+0

Как попробовать с xpath '" // input [@ id = ''] "' ??? –

ответ

0

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

HtmlSubmitInput button = form.getInputByName("searchButton"); 
    HtmlPage page2 = button.click(); 
0

я понял, решение, но я не знаю, как это работает точно так же, когда я добавить некоторую задержку, прежде чем нажать на кнопку, он отлично работает, может быть связано с некоторыми 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(); 
Смежные вопросы