如何使用Selenium WebDriver处理<object> </object>标记内的AJAX弹出窗口?

时间:2019-05-01 20:58:35

标签: selenium-webdriver

这是我在代码内的代码

            
          <a id="wishlistlogin" href="/user/login?destination=%2Fsearch%2Flocations%2Fwidget%3Fparam1%3D55217%26param2%3D1%26param3%3D0%26paramOthers%3D398.07B911S" class="use-ajax login-popup-form" data-dialog-type="modal" dialogclass="popup-dialog-class"><div class="add-to-wishlist">LOGIN TO ADD TO 
                                               <div class="available-at"><p></p><a id="available_copy">Available:  1 Copy</a></div><!-- case request able is false but force show (1) -->

   <div class="callnumber" style="border:0px solid red !important"><p></p><b>Call #: </b>398.07B911S</div>
       

我尝试了多种方式执行Javascript Executor和AJAX,但是我无法单击“登录以添加愿望清单”

我的网址” https://preview.queenslibrary.org/search/everything?searchField= *&category = everything&searchFilter =“

然后单击窗口小部件“登录以添加愿望清单”右侧的第一张卡片“快速查看”窗格

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

此元素嵌套在iframe中,您需要先切换到它(widgetObj):

your iframes hierarchy

找到iframe后,您需要通过以下方式进行切换:

driver.switchTo().frame(frame_locator)

在正确的框架内之后,您可以找到链接By

By.id("wishlistlogin")

然后可以与该元素进行交互。