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() 的等效代码