selenium-webdriver - 如何使用 Selenium WebDriver处理标签内的 AJAX 弹出窗口?
问题描述
这是我标签内的代码
<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 调用,但我无法点击“LOGIN TO ADD WISHLIST”
我的网址“ https://preview.queenslibrary.org/search/everything?searchField= *&category=everything&searchFilter= ”
并单击小部件右侧的第一张卡片快速查看窗格“登录以添加愿望清单”
请问有什么建议吗?
解决方案
此元素嵌套在 iframe 中,您需要先切换到它(widgetObj):
找到 iframe 后,您需要通过以下方式切换到它:
driver.switchTo().frame(frame_locator)
进入正确的框架后,您可以找到链接By
:
By.id("wishlistlogin")
然后可以与元素进行交互。
推荐阅读
- r - 如何使用 R 为 dhs 家庭暴力数据加权数据(科特迪瓦 2011-2012)
- flutter - Flutter 解析子树中共享相同标签的多个英雄
- python-3.x - sklearn tf-idf TfidfVectorizer 捕获一个字母单词失败
- c# - 获取多个列表并将它们显示到视图
- mysql - MySQL中的成本总和
- php - 特色图片后没有显示产品描述 - woocommerce 商店
- html - 为什么我的文字没有随着图标改变颜色?
- python - 我可以在 Pycharm for mac 和 windows 中运行相同的 Python 代码吗?
- java - 将类的子类作为类型参数传递(类型参数是子类)
- python - OpenCV中的广义霍夫变换 - 设置角度精度