как закрыть всплывающее окно iframe в селене - PullRequest
0 голосов
/ 09 мая 2018

    iframe name="_ifrm" id="_ifrm" src="/air/wfw/html/iframe/about.html"  
    title="_ifrm" height="368px" width="800" style="border:0;overflow- 
    y:auto;overflow-x:hidden;" scrolling="no" frameborder="0" 
    allowtransparency="true">

    div class="k1_yb_pop_wrap" style="width: 800px; background-color: 
    rgb(255, 255, 255);">

    class="k1_tac"      
    button class="k1_yb_btn k1_yb_btn_black k1_yb_btn_large" 
    type="button" onclick="airfn_confirm_1100100016('Y')" accept

    a class="close_pop" onclick="airfn_confirm_1100100016('N')"> closed 
    
        
    

и я попытался закрыть всплывающее окно с помощью этого кода:

    driver.switchTo().frame(Common.driver.findElement(By.xpath("//*[@id=\"_ifrm\"]")));

    driver.findElement(By.xpath("/html/body/div[1]/div/p[2]/button")).click() ;

но, тест по ошибке,

unknown error: Element <iframe name="_ifrm" id="_ifrm" 
src="/air/wfw/html/iframe/about.html" title="_ifrm" height="368px" 
width="800" style="border:0;overflow-y:auto;overflow-x:hidden;" 
scrolling="no" frameborder="0" allowtransparency="true" 
cd_frame_id_="01a42b9f9d1324c7bbec7a74e48a673b"></iframe> is not 
clickable at point (591, 390). Other element would receive the click: 
<div class="list_loading">...</div>(..)`enter code here`

1 Ответ

0 голосов
/ 09 мая 2018

Некоторое наложение блокирует взаимодействие с фреймом. Возможно, вам придется подождать, пока оверлей или загрузчик не уйдут с экрана или страницы. Вы можете попробовать следующий код, он может вам помочь.

WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.className("list_loading")));

driver.switchTo().frame(Common.driver.findElement(By.xpath("//*[@id=\"_ifrm\"]")));

driver.findElement(By.xpath("/html/body/div[1]/div/p[2]/button")).click() ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...