我正在使用
builder.moveToElement(element).moveByOffset(x,y).click().build().perform(); 在上面的函数中,我不确定X和Y的值,所以我必须多次运行测试来找出X和Y的正确值。
例如:首先我会尝试5,5,然后如果我看到它比5,10更接近右边,依此类推。
他们有办法一次就找到它吗?
发布于 2016-11-28 14:02:29
尝试下面的代码以获得精确的x&y坐标&然后尝试您的代码
WebElement ele= driver.findElement(By.xpath("x-path"));
Point point = ele.getLocation();
int xcord = point.getX();
int ycord = point.getY();发布于 2018-09-28 14:55:56
请尝试遵循以下详细信息。
例如:如果在第一次尝试时,我尝试单击在(60,20)处预设的任何元素,那么在第二次尝试单击其他任何位置之前,我应该将偏移量设置为(-60,-20)。否则,您可以找到第二个坐标,并在尝试单击该坐标之前执行正负计算。
发布于 2019-07-05 16:05:48
尝试使用此代码通过程序本身获取坐标
//set x and y limits to your webelement size
WebElement element = //your element;
actions = new Actions(remoteDriver);
for (int x = 0; x < element.getSize().getWidth(); x++) {
for (int y = 0; y < getSize().getHeight(); y++) {
actions.moveToElement(element).moveByOffset(x, y).click().build().perform();
if ( //your condition ) {
System.out.println("X and Y when condition satisified are" + x " and " + y);
break;
}
}
}在我的经验中,偏移值几乎等于或范围内的特定点的像素值的一半点击webelement,即我的全屏关闭按钮的1300x700播放浏览器的视频,偏移值是x=550和y=320。尝试在该范围内进行限制。更小的Web元素意味着它更容易找到。
https://stackoverflow.com/questions/40837892
复制相似问题