Using the RobotFramework, I need a click using 'Execute Javascript' which is more on the right side located.
What I have so far is this:
${ele} Get WebElement //input[@id='halfButton']
Execute Javascript arguments[0].click(); ARGUMENTS ${ele}
How can I change it so it clicks on the right?
Without spelling out the solution line by line, here's the algorithm - when Selenium makes a click, it does so in the dead center of the object. That's the "catch" in this Tosca challenge - they want you to position the click to the right of that - and you have to calculate where.
SeleniumLibrary to the rescue - get the position of the button, then get its width (you need a quarter of it, more or less); then do some simple math to calculate a position to the right from its center - and click at those coordinates.
Somehow the calculations don't seem to work....
So I tried a hail shotgun method:
CLICK ELEMENT AT COORDINATES id=halfButton 600 100
LOG TO CONSOLE 1
CLICK ELEMENT AT COORDINATES id=halfButton 600 150
LOG TO CONSOLE 2
CLICK ELEMENT AT COORDINATES id=halfButton 600 100
LOG TO CONSOLE 3
CLICK ELEMENT AT COORDINATES id=halfButton 610 100
LOG TO CONSOLE 4
CLICK ELEMENT AT COORDINATES id=halfButton 620 100
LOG TO CONSOLE 5
CLICK ELEMENT AT COORDINATES id=halfButton 630 100
LOG TO CONSOLE 6
CLICK ELEMENT AT COORDINATES id=halfButton 560 100
LOG TO CONSOLE 7
CLICK ELEMENT AT COORDINATES id=halfButton 570 150
LOG TO CONSOLE 8
CLICK ELEMENT AT COORDINATES id=halfButton 580 100
LOG TO CONSOLE 9
CLICK ELEMENT AT COORDINATES id=halfButton 590 100
LOG TO CONSOLE 10
CLICK ELEMENT AT COORDINATES id=halfButton 520 100
LOG TO CONSOLE 11
CLICK ELEMENT AT COORDINATES id=halfButton 530 100
Still it didn't hit the target.
I know the viewport is: 1366 by 643 (1374, 586) is out of bounds of viewport width (1366) and height (643), which was tried by x-700 x y-100.
You can move a lot on the X horizontal axis, but you can't move a lot on the Y vertical axis, because the button is not very high.
therefor this worked:
CLICK ELEMENT AT COORDINATES id=halfButton 100 1
LOG TO CONSOLE 1