在尝试拖动/移动Selenium中的元素时,如何找出x和y偏移?
我正在使用在尝试拖动/移动Selenium中的元素时,如何找出x和y偏移?,selenium,selenium-webdriver,offset,Selenium,Selenium Webdriver,Offset,我正在使用 builder.moveToElement(element).moveByOffset(x,y).click().build().perform(); 在上面的函数中,我不确定X和Y的值,所以我必须运行测试几次,以找出X和Y的正确值 示例:首先,我将尝试使用5,5,然后如果我看到它比5,10更向右,依此类推 它们是一种一次性找到的方法吗?尝试下面的代码以获得精确的x&y坐标,然后尝试您的代码 WebElement ele= driver.findElement(By.xpath(
builder.moveToElement(element).moveByOffset(x,y).click().build().perform();
在上面的函数中,我不确定X和Y的值,所以我必须运行测试几次,以找出X和Y的正确值
示例:首先,我将尝试使用5,5,然后如果我看到它比5,10更向右,依此类推
它们是一种一次性找到的方法吗?尝试下面的代码以获得精确的x&y坐标,然后尝试您的代码
WebElement ele= driver.findElement(By.xpath("x-path"));
Point point = ele.getLocation();
int xcord = point.getX();
int ycord = point.getY();
请尝试遵循以下详细信息
否则,您可以找到第二个坐标,并在尝试单击该坐标之前执行加减计算。尝试使用此代码通过程序本身获取坐标
//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;
}
}
}
//设置Web元素大小的x和y限制
WebElement=//您的元素;
操作=新操作(remoteDriver);
对于(int x=0;x
根据我的经验,偏移值几乎等于或在特定点的像素值的一半范围内单击webelement
ie对于1300*700播放浏览器的视频的全屏关闭按钮,全屏关闭按钮的偏移值为x=550和y=320。试着限制在那个范围内。较小的Web元素意味着更容易找到。它不会工作,因为除非我将其正确悬停,否则第二个元素将不会被激活。所以我想手动查看它并硬编码itx偏移-水平偏移。负值表示向左移动鼠标。y偏移-垂直偏移。负值表示鼠标向下移动。在其他人将上述评论视为理所当然之前:请仔细检查!我相信对于y偏移-垂直偏移:正值意味着向下移动鼠标。@JackMiller我在我的系统中再次尝试了这一点,发现正值意味着向上移动鼠标。也请检查firefox标尺。