HtmlUnit: TypeError: Не може да се прочете свойството mousedown от null

мога да щракна върху бутона за въвеждане в htmlunit с помощта на JAVA, когато се опитам да следвам кода, той ми дава изключение „TypeError: Не може да се прочете свойството „mousedown“ от null“

    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 ще бъде. така че предлагам първо да опитате да вземете бутона по id или по име, за да видите дали работи.

  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