Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hovering over a link in nightwatchjs

I have been using nightwatch.js and always clicked around elements. Is there a way we can hover over a link or button?

like image 995
user461112 Avatar asked Jun 05 '15 18:06

user461112


2 Answers

Try the browser.moveToElement command.

You can also fire a callback after moveToElement completes:

browser.waitForElementVisible('.recommendation', 1000, function () {
// moveToElement can also accept offsets
browser.moveToElement('.recommendation', 100, 100, function() {
    browser.waitForElementVisible('.share', 500, function () {
        browser.click('.share');
    }, "Click share icon. ");
});
}, "Find a recommendation ");

The code above moves to an element. After the moveTo completes it waits until the hover-only element is present. After which it interacts with it.

doc: http://nightwatchjs.org/api/moveToElement.html

like image 100
Abhishek Avatar answered Oct 19 '22 22:10

Abhishek


You can use the selenium API moveTo command. It will move the mouse to the given element and it should stay over that element until the next command involving the mouse is used.

browser.moveTo(selector, xoffset, yoffset, function(){
    browser.pause(2000)
})

Just pause for the amount of time you would like to hover for. Here is the api documentation for moveTo.

like image 2
Thomas C Avatar answered Oct 19 '22 23:10

Thomas C