python - 点击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>
解决方案
使用该弹出窗口的 dom 元素,并在大约 2-3 秒的小等待后单击它。它应该工作。
注意:您在这里使用了 driver.find_element_name,但它应该是 dom 元素,如 id、类或与该 dom 元素相关的其他属性。
driver.find_element_name('abc').click()
ElementClickInterceptedException: Message: element click intercepted