Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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
使用selenium和java无法在ajax覆盖弹出窗口及其显示元素中单击或发送键_Java_Selenium_Xpath_Css Selectors_Webdriverwait - Fatal编程技术网

使用selenium和java无法在ajax覆盖弹出窗口及其显示元素中单击或发送键

使用selenium和java无法在ajax覆盖弹出窗口及其显示元素中单击或发送键,java,selenium,xpath,css-selectors,webdriverwait,Java,Selenium,Xpath,Css Selectors,Webdriverwait,我一直在练习自动化web应用程序way2Automation.com的几个场景,并努力在弹出的注册表中输入文本。 我已经做了一些研究,并尝试了以下提到的许多方法: a) 使用WebDriverWait和显式等待 b) 使用隐式等待和Thread.sleep c) 使用JavaScriptExecutor 但是他们都没有为我工作,我仍然坚持注册用户。非常感谢你的帮助。下面是人工制品 网址: 代码试用: (一) 要单击“提交”,您可以使用以下任一选项: css选择器: driver.findE

我一直在练习自动化web应用程序way2Automation.com的几个场景,并努力在弹出的注册表中输入文本。 我已经做了一些研究,并尝试了以下提到的许多方法:

a) 使用WebDriverWait和显式等待 b) 使用隐式等待和Thread.sleep c) 使用JavaScriptExecutor

但是他们都没有为我工作,我仍然坚持注册用户。非常感谢你的帮助。下面是人工制品

网址:

代码试用:

(一)

  • 要单击“提交”,您可以使用以下任一选项:

    • css选择器

      driver.findElement(By.cssSelector("input.button[value='Submit']")).click();
      
      new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.button[value='Submit']"))).click();
      
    • xpath

      driver.findElement(By.xpath("//input[@class='button' and @value='Submit']")).click();
      
      new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='button' and @value='Submit']"))).click();
      
    但是,由于元素是一个动态元素,因此要
    在需要归纳的元素上单击()
    ,以使
    元素可伸缩()
    ,您可以使用以下任一选项:

    • css选择器

      driver.findElement(By.cssSelector("input.button[value='Submit']")).click();
      
      new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.button[value='Submit']"))).click();
      
    • xpath

      driver.findElement(By.xpath("//input[@class='button' and @value='Submit']")).click();
      
      new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='button' and @value='Submit']"))).click();
      

    参考文献 您可以在中找到有关的详细讨论:


    我找不到注册表,注册表在哪里,或者在这里发送链接/url?没有注册表Hey@JustinLambert:您可以直接访问此链接以访问注册表::以获取此注册表中的注册表website@JustinLambert你能帮我弄一下的底页吗?那真是太棒了。非常感谢你的帮助。因为我在经历这一切时很挣扎。你能帮个忙吗?你是怎么知道在这个特殊的弹出框中切换窗口的?@JustinLambert
    parent=driver.getWindowHandle()=child
    你仍然需要
    switchTo()
    ?@DebanjanB我把基本页面作为父窗口切换到子窗口,即注册页面。