Selenium WebDriver JAVA:如何单击 x,y 坐标?

Posted

技术标签:

【中文标题】Selenium WebDriver JAVA:如何单击 x,y 坐标?【英文标题】:Selenium WebDriver JAVA: How to click at x,y coordinates? 【发布时间】:2016-06-28 04:50:42 【问题描述】:

我无法在 Flash Player 中单击一个点,我在浏览器中嵌入了一个 Flash iframe,并且我想单击某个按钮,因为我很难为 Flash 编写代码并与 Flash 元素进行通信。

所以,我想点击 (1170,230) ,假设 0,0 是浏览器页面的左上角(不包括地址和书签栏)

我正在使用以下代码,但是它不起作用。

WebDriverWait wait = new WebDriverWait(driver, 15);

WebElement knownElement1=wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*@id='game']")));

Actions builder1 = new Actions(driver); 
builder1.moveToElement(knownElement1, 1170, 230).click().perform();

【问题讨论】:

【参考方案1】:

你切换到这个闪光帧了吗?

driver.switchTo().frame(frameWebElementInstance);

别忘了切换回来,如果你要在框架之外做某事

【讨论】:

【参考方案2】:

试试这个:-

int xScrollPosition= 0; //enter your x co-ordinate
int yScrollPosition= 0; //enter your y co-ordinate

WebElement element = driver.findElement(By.xpath("YOUR LOCATOR"));

javascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("window.scroll(" + xScrollPosition + ", " + yScrollPosition + ");");
executor.executeScript("arguments[0].click();", element);

希望对你有帮助:)

【讨论】:

对您的代码进行一些修改:1)。 executor.executeScript("javascript:window.scrollBy(1170,230)"); 2)。你的代码最后一行看不懂,这里的元素是什么?

以上是关于Selenium WebDriver JAVA:如何单击 x,y 坐标?的主要内容,如果未能解决你的问题,请参考以下文章

如何用selenium webdriver 捕获js error

(java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

聚焦文本字段中的 TYPE 值(如 selenium RC 中的 TYPE)- Selenium webdriver

焦点文本字段中的TYPE值(如selenium RC中的TYPE) - Selenium webdriver

使用 Java 在 Selenium WebDriver (selenium 2) 中处理警报

使用 Java 的 Selenium WebDriver (Selenium 2) 中 selenium.refresh() 的等效代码