首页 > 解决方案 > 点击body不关闭弹窗selenium

问题描述

我试图在网页上执行身体点击。当我加载网页时,会显示一个弹出窗口。我可以通过单击屏幕上的任意位置来关闭该弹出窗口。这个弹出窗口没有标准化的类名或id(不断变化)所以我想模拟一个按钮点击body来关闭它。

我努力了

driver.find_element_by_tag_name('html').click()

driver.find_element_by_tag_name('body').click()

我没有收到错误,但弹出窗口没有关闭

然后我尝试点击一个随机的背景元素,但是当我尝试时它给了我一个错误

driver.find_element_class_name('abc').click()

ElementClickInterceptedException: Message: element click intercepted

有什么办法可以点击body或者其他html标签来关闭它?

<div tabindex="-1" aria-modal="true" role="alertdialog" class="ca ew bz bx by c0 sb cr fs cw ap st t6 t7 sv sq i9 sw sx sy">
<div data-baseweb="block" class="qv c4 db c3">
<div data-baseweb="block" class="aq ar fq fr">A message </div>
<div data-baseweb="block" class="f5 aq e5 d8 at ao"><p data-baseweb="typo-paragraphlarge" class="fo aq e5 d8 at au dg">Spend $50 </p></div></div></div>

标签: pythonselenium

解决方案


使用该弹出窗口的 dom 元素,并在大约 2-3 秒的小等待后单击它。它应该工作。

注意:您在这里使用了 driver.find_element_name,但它应该是 dom 元素,如 id、类或与该 dom 元素相关的其他属性。

driver.find_element_name('abc').click()

ElementClickInterceptedException: Message: element click intercepted

推荐阅读