Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从框架返回webdriver主页并单击按钮。它显示错误元素ClickIntercepted_Java_Eclipse_Selenium_Webdriver - Fatal编程技术网

Java 无法从框架返回webdriver主页并单击按钮。它显示错误元素ClickIntercepted

Java 无法从框架返回webdriver主页并单击按钮。它显示错误元素ClickIntercepted,java,eclipse,selenium,webdriver,Java,Eclipse,Selenium,Webdriver,下面是我正在执行的代码,登录到页面后,我试图单击左侧垂直导航栏上的“存款”按钮。但在“存款”按钮前,一个视频广告显示在一个框架内。在我的程序中,我试图从框架中关闭广告并返回主页,这样编译器就可以看到“存款”按钮,然后我只需单击“存款”按钮。下面是我正在尝试的程序 有人能帮我看看如何点击“存款”按钮吗 package SeleniumSessions; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; im

下面是我正在执行的代码,登录到页面后,我试图单击左侧垂直导航栏上的“存款”按钮。但在“存款”按钮前,一个视频广告显示在一个框架内。在我的程序中,我试图从框架中关闭广告并返回主页,这样编译器就可以看到“存款”按钮,然后我只需单击“存款”按钮。下面是我正在尝试的程序

有人能帮我看看如何点击“存款”按钮吗

package SeleniumSessions;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class TestGuru99PopUp {

    public static void main(String[] args) throws InterruptedException {

        System.setProperty("webdriver.chrome.driver","F:\\Drivers\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();

                //alert.dismiss();// this is used to cancel the alert

        driver.manage().window().maximize();
        driver.manage().deleteAllCookies();

        driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

        driver.get("http://demo.guru99.com/V4/");

        driver.findElement(By.xpath("//input[@name = 'uid']")).sendKeys("username");
        driver.findElement(By.xpath("//input[@name = 'password']")).sendKeys("password");
        driver.findElement(By.xpath("//input[@name = 'btnLogin']")).click();
        Thread.sleep(5000);

        /*JavascriptExecutor jse = (JavascriptExecutor)driver;
        jse.executeScript("window.scrollBy(0,250)");*/

        //driver.switchTo().frame("flow_close_btn_iframe");
        driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[title='Flow Close Button']")));
        Boolean frameClose = driver.findElement(By.xpath("//div[@id = 'closeBtn']")).isDisplayed();
        System.out.println(frameClose);

        driver.findElement(By.xpath("//div[@id = 'closeBtn']")).click();

        driver.switchTo().defaultContent();

        //Thread.sleep(1000);
        driver.findElement(By.xpath("//a[contains(text(),'Deposit')]")).click();

        System.out.println("program reached end successfully");

        driver.quit();
        // TODO Auto-generated method stub

        // TODO Auto-generated method stub

    }

}
****下面是我在控制台中遇到的错误****

Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 32445
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
[1587964475.823][WARNING]: This version of ChromeDriver has not been tested with Chrome version 81.
[1587964477.868][WARNING]: Timed out connecting to Chrome, retrying...
Apr 27, 2020 10:44:40 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
[1587964482.639][WARNING]: Timed out connecting to Chrome, retrying...
[1587964486.584][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964486.691][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964486.799][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964486.912][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964487.017][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964487.168][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964487.271][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964487.375][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964487.559][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964487.664][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964487.767][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964487.964][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964488.073][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964489.291][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964489.673][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964489.784][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964489.900][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964490.065][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964490.168][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964490.397][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964490.535][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964490.638][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964493.468][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964494.149][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964494.487][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964494.590][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964494.696][SEVERE]: Timed out receiving message from renderer: 0.100
[1587964494.799][SEVERE]: Timed out receiving message from renderer: 0.100
true
Exception in thread "main" org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <a href="...Input.php">Deposit</a> is not clickable at point (120, 569). Other element would receive the click: <div id="primis_container_div">...</div>
  (Session info: chrome=81.0.4044.122)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'
System info: host: 'DESKTOP-1QASA0A', ip: '192.168.1.129', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '14'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 81.0.4044.122, chrome: {chromedriverVersion: 80.0.3987.106 (f68069574609..., userDataDir: C:\Users\Ravindra\AppData\L...}, goog:chromeOptions: {debuggerAddress: localhost:55201}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: d2ff228f926b8de0b294c01581896a4f
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
    at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:84)
    at SeleniumSessions.TestGuru99PopUp.main(TestGuru99PopUp.java:45)
端口32445上的启动ChromeDriver 80.0.3987.106(f68069574609230cf9b635cd784cfb1bf81bb53a参考/分支头/3987{882})
只允许本地连接。
请保护ChromeDriver和相关测试框架使用的端口,以防止恶意代码访问。
[1587964475.823][警告]:此版本的ChromeDriver尚未使用Chrome版本81进行测试。
[1587964477.868][警告]:连接到Chrome时超时,正在重试。。。
2020年4月27日上午10:44:40 org.openqa.selenium.remote.ProtocolHandshake createSession
信息:检测到的方言:W3C
[1587964482.639][警告]:连接到Chrome时超时,正在重试。。。
[1587964486.584][严重]:从渲染器接收消息时超时:0.100
[1587964486.691][严重]:从渲染器接收消息时超时:0.100
[1587964486.799][严重]:从渲染器接收消息时超时:0.100
[1587964486.912][严重]:从渲染器接收消息时超时:0.100
[1587964487.017][严重]:从渲染器接收消息时超时:0.100
[1587964487.168][严重]:从渲染器接收消息时超时:0.100
[1587964487.271][严重]:从渲染器接收消息时超时:0.100
[1587964487.375][严重]:从渲染器接收消息时超时:0.100
[1587964487.559][严重]:从渲染器接收消息时超时:0.100
[1587964487.664][严重]:从渲染器接收消息时超时:0.100
[1587964487.767][严重]:从渲染器接收消息时超时:0.100
[1587964487.964][严重]:从渲染器接收消息时超时:0.100
[1587964488.073][严重]:从渲染器接收消息时超时:0.100
[1587964489.291][严重]:从渲染器接收消息时超时:0.100
[1587964489.673][严重]:从渲染器接收消息时超时:0.100
[1587964489.784][严重]:从渲染器接收消息时超时:0.100
[1587964489.900][严重]:从渲染器接收消息时超时:0.100
[1587964490.065][严重]:从渲染器接收消息时超时:0.100
[1587964490.168][严重]:从渲染器接收消息时超时:0.100
[1587964490.397][严重]:从渲染器接收消息时超时:0.100
[1587964490.535][严重]:从渲染器接收消息时超时:0.100
[1587964490.638][严重]:从渲染器接收消息时超时:0.100
[1587964493.468][严重]:从渲染器接收消息时超时:0.100
[1587964494.149][严重]:从呈现程序接收消息时超时:0.100
[1587964494.487][严重]:从渲染器接收消息时超时:0.100
[1587964494.590][严重]:从渲染器接收消息时超时:0.100
[1587964494.696][严重]:从渲染器接收消息时超时:0.100
[1587964494.799][严重]:从渲染器接收消息时超时:0.100
真的
线程“main”org.openqa.selenium.element中的异常ClickInterceptedException:元素ClickIntercepted:元素在点(120569)处不可单击。其他元素将收到单击:。。。
(会话信息:chrome=81.0.4044.122)
构建信息:版本:“3.141.59”,修订版:“e82be7d358”,时间:“2018-11-14T08:25:48”
系统信息:主机:'DESKTOP-1QASA0A',ip:'192.168.1.129',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'14'
驱动程序信息:org.openqa.selenium.chrome.ChromeDriver
功能{AcceptSecureCerts:false,browserName:chrome,browserVersion:81.0.4044.122,chrome:{chromedriverVersion:80.0.3987.106(f68069574609…,userDataDir:C:\Users\Ravindra\AppData\L…),goog:chromeOptions:{debuggerAddress:localhost:55201},javascriptEnabled:true,networkConnectionEnabled:false,pageLoadStrategy:normal,platform:WINDOWS,platformName:WINDOWS,proxy:proxy(),setWindowRect:true,StrictFileInteractivity:false,超时:{隐式:0,pageLoad:300000,脚本:30000},未经处理的PromptBehavior:Disease and notify}
会话ID:d2ff228f926b8de0b294c01581896a4f
位于java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
位于java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
位于org.openqa.selenium.remote.http.w3chttprosecodec.createException(w3chttprosecodec.java:187)
在org.openqa.selenium.remote.http.w3chttrpresponsecodec.decode(w3chttrpresponsecodec.java:122)
位于org.openqa.selenium.remote.http.w3chttprosecodec.decode(w3chttprosecodec.java:49)
位于org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
位于org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
位于org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285)
在org.openqa.selenium.remote.RemoteWebElement.click上(RemoteWebElement.java:84)
位于SeleniumSessions.TestGuru99PopUp.main(TestGuru99PopUp.java:45)
下面是两个iframe标签(一个用于视频cl)
WebElement depositElement = driver.findElement(By.xpath("//a[contains(text(),'Deposit')]"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", depositElement);
 new WebDriverWait(driver, 5).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@id = 'closeBtn']"))).click();
driver.switchTo().defaultContent();