Important: Please read the Qt Code of Conduct -

Alternative to click on this QWebElement?

  • I have a html button that none of the methods I've tried before and worked does work for this one.

    The HTML (toOuterXml() output) look like this:

    "<input name="ctl00$foo" type="text" class="rcbInput radPreventDecorate rcbEmptyMessage" id="foo" value="Select something" readonly="readonly" autocomplete="off">"

    I've tried all thise to click:

    • input.evaluateJavaScript("");
    • input.evaluateJavaScript("var evObj = document.createEvent('MouseEvents');evObj.initEvent( 'click', true, true );this.dispatchEvent(evObj);");
    • mouseClick(windowHandle(), input);

    where mouseClick is defiend as following:

    void mouseClick(QWindow *window, const QWebElement &e)
        QRect pos = e.geometry();
        QPoint clickPoint(pos.x(), pos.y());
        QTest::mouseMove(window, clickPoint);
        QTest::mouseClick(window, Qt::LeftButton,
                          Qt::NoModifier, clickPoint,

    and input is

    auto input =

    Can someone point out the reason why it isn't workng? or provide a working alternative? I have no idea why the regular methods isn't working.

  • @Bob-Asm2
    Umm, how is <input type="text"> a "button"? It's an edit control. (It's also readonly.) What are you expecting to happen on clicking it?

  • If you just want to set focus of the element, use QWebElement::setFocus

  • @Konstantin-Tokarev
    Since as I pointed out his element is readonly, and

    Gives keyboard input focus to this element

    I'm not sure/would not have thought that would have much effect, for whatever the OP is trying to achieve.

  • on GUI interface, when it's clicked, a list of suggestions (a set of HTML li tags) is shown. This is what I'm trying to do programatically. I'll give a try to setFocus() but it has been unsuccefully on the past, so I've since always used evaluateJavaScript("this.focus()") instead of.

  • @JonB What happens with that page is it seems a "hack" HTML it's of type text but on GUI appers to be a select and when you click on it it show a list of options, in form of autocompleter. I just want to click on it and display that autcompleter.

Log in to reply