Ash*_*ant 0 google-chrome selenium-webdriver
使用WebDriver在Chrome上执行操作
我有一个扩展名为.xqy的网页.我在哪里执行一些动作并打开第一帧.然后在第一帧上执行一些操作后,打开第二帧,然后打开第三帧.现在,我需要在第一帧上执行某些操作,以便关闭当前使用selenium焦点的第三帧,然后使用以下代码关闭第二帧:
WebDriver dObjExit = driverObj.switchTo().frame(driverObj.findElement(By.xpath("html/body/div[4]/iframe"))).switchTo().frame(driverObj.findElement(By.xpath("//body[@class='dlg-page']/div[4]/iframe")));
dObjExit.findElement(By.xpath("//p[@class='modal-footer']/button")).click();
Run Code Online (Sandbox Code Playgroud)
现在,我只剩下第一帧,我使用以下代码点击它上面的元素:
WebDriver dObjExit1 = driverObj.switchTo().parentFrame();
ObjExit1.findElement(By.xpath("//button[@id='srch-save']")).click();
Run Code Online (Sandbox Code Playgroud)
但是Selenium会抛出以下错误:
线程"main"中的异常org.openqa.selenium.WebDriverException:未知错误:元素在点(54,88)处不可点击.其他元素将收到点击:
关于决议的任何想法?也尝试使用Actions类但无济于事.
使用JavascriptExecutor克服这个问题: -
WebElement element= driver.findElement(By.xpath("YOUR XPATH"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9203 次 |
| 最近记录: |