Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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通过Selenium Webdriver关闭HTML对话框_Java_Jquery_Selenium - Fatal编程技术网

无法使用Java通过Selenium Webdriver关闭HTML对话框

无法使用Java通过Selenium Webdriver关闭HTML对话框,java,jquery,selenium,Java,Jquery,Selenium,下面是我的HTML代码,我正在尝试使用SeleniumWebDriver关闭对话框 <div class="ui-dialog dialog "> <div class="od-ui-dialog-content dialog_content"> <div class="od-ui-dialog-box ui_dialog_box"> <div class="od-ui-dialog-image-abc”></

下面是我的HTML代码,我正在尝试使用SeleniumWebDriver关闭对话框

    <div class="ui-dialog dialog ">
    <div class="od-ui-dialog-content dialog_content">
    <div class="od-ui-dialog-box ui_dialog_box">
    <div class="od-ui-dialog-image-abc”></div> 
    <div class="od-ui-dialog-box-header dialog_box_header"></div>
    <div class="dialog_close_abc od-ui-dialog-abc”>
    <span class="od-ui-dialog-close-abc”>r</span> 
    <div  class="od-ui-dialog-box-content "></div> 
     <div  class="od-ui-dialog-box-footer dialog_footer">
    </div>  </div> </div>
但它不起作用



当您选择跨度时,它可能还不可见。 你应该等到它出现。你可以这样做。(在C#中,但您可以轻松地将其转换为java)


以下是你问题的答案:

根据您提供的HTML,您可以使用以下代码行关闭对话框:

driver.findElement(By.xpath("//span[@class='od-ui-dialog-close-abc' and text()='r']")).click();
如果您面临
element不可见
异常,您可以诱导
ExplicitWait
等待该元素可单击,如下所示:

WebDriverWait wait8 = new WebDriverWait(driver, 10);
WebElement element8 = wait8.until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='od-ui-dialog-close-abc' and text()='r']")));
element8.click();

如果这回答了您的问题,请告诉我。

您是否可以添加关闭对话框的Java代码?另外,如果您可以添加一些周围的HTML以查看对话框的详细信息,则在交互时跨度不可见的原因之一是您可能需要等待一些事件,然后再选择跨度,以便它可以可见、可单击等
driver.findElement(By.xpath("//span[@class='od-ui-dialog-close-abc' and text()='r']")).click();
WebDriverWait wait8 = new WebDriverWait(driver, 10);
WebElement element8 = wait8.until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='od-ui-dialog-close-abc' and text()='r']")));
element8.click();