当我使用 Selenium webdriver 的点和维度类找出移动屏幕上 WebElement 的 x、y 坐标时。它给出了不同的坐标值。
例如:下面是WebElement的XPath和代码片段
WebElement plusYouXp = driver.findElement(By.xpath(“.//*[@id='p_p_id_QuoteHomeBTemplate_WAR_PeDevportlet_']/div/div/div[2]/form/ul/li[2]/div/div/ul/li[1]/h1/span"));
System.out.println("plusUxpath: "+plusYouXp.getText());
Point p = plusYouXp.getLocation();
Dimension size = plusYouXp.getSize();
int xAxis = p.x + (size.width/2);
int yAxis = p.y + (size.height/2);
System.out.println(xAxis+" -- “+yAxis);
changeContextToNativeAppView();
Thread.sleep(2000);
driver.tap(1, xAxis, yAxis, 1);
这里,它没有点击正确的 x,y 值,因为 Java 代码计算后的 X 和 Y 值是 180 和 495
另一方面,当我使用开发者选项中的指针位置查找坐标时
如下图:
在图2中(如上所示):它给出了正确的坐标,如下突出显示的部分所示
该坐标适用于此命令
driver.tap(1,554,1067,200);
我想知道,如何使用 Appium 或 Selenium 的 Java 代码找到准确的坐标。
最佳答案
试试这个:
WebElement plusYouXp = driver.findElement(By.xpath(“.//*[@id='p_p_id_QuoteHomeBTemplate_WAR_PeDevportlet_']/div/div/div[2]/form/ul/li[2]/div/div/ul/li[1]/h1/span"));
center_x=plusYouXp.getSize().getHeight()/2;
center_y=plusYouXp.getSize().getWidth()/2;
System.out.println(center_x+" "+center_y);
关于java - 使用 Selenium Point 和 Dimension 类在移动屏幕上的 WebElement 的 X Y 坐标是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40970675/