我无法通过 selenium Web 驱动程序单击“Span 1”。这是来自网络的检查元素:
<div class="m-menu__subnav siak_menu_lm01" data-cek="02">
<ul class="m-menu__content">
<li class="m-menu__item">
<h3 class="m-menu__heading m-menu__toggle">
<i class="m-menu__link-bullet m-menu__link-bullet--line m--visible-tablet-and-mobile-table-cell">
<span></span>
</i>
<span class="m-menu__link-text">AA</span>
<i class="m-menu__ver-arrow la la-angle-right"></i>
</h3>
<ul class="m-menu__inner">
<li class="m-menu__item" m-menu-link-redirect="1" aria-haspopup="true">
<a href="dafduk/wni/dataKeluarga/searchList" class="m-menu__link ajaxify" data-cek="020101" data-target="siakContent" data-hidden="siakContentHandlebar" data-server="true" data-refresh="m_header_menu_default">
<i class="m-menu__link-bullet m-menu__link-bullet--dot m--visible-tablet-and-mobile-table-cell">
<span></span>
</i>
<span class="m-menu__link-text">Span 1</span>
</a>
</li>
<li class="m-menu__item" m-menu-link-redirect="1" aria-haspopup="true">
<a href="dafduk/wni/biodataEktp/searchList" class="m-menu__link ajaxify" data-cek="020102" data-target="siakContent" data-hidden="siakContentHandlebar" data-server="true" data-refresh="m_header_menu_default">
<i class="m-menu__link-bullet m-menu__link-bullet--dot m--visible-tablet-and-mobile-table-cell">
<span></span>
</i>
<span class="m-menu__link-text">Span 2</span>
</a>
</li>
</ul>
</li>
<li class="m-menu__item">
<h3 class="m-menu__heading m-menu__toggle">
<i class="m-menu__link-bullet m-menu__link-bullet--line m--visible-tablet-and-mobile-table-cell">
<span></span>
</i>
<span class="m-menu__link-text">BB</span>
<i class="m-menu__ver-arrow la la-angle-right"></i>
</h3>
<ul class="m-menu__inner">
<li class="m-menu__item" m-menu-link-redirect="1" aria-haspopup="true">
<a href="dafduk/oa/dataKeluarga/searchList" class="m-menu__link ajaxify" data-cek="020201" data-target="siakContent" data-hidden="siakContentHandlebar" data-server="true" data-refresh="m_header_menu_default">
<i class="m-menu__link-bullet m-menu__link-bullet--dot m--visible-tablet-and-mobile-table-cell">
<span></span>
</i>
<span class="m-menu__link-text">Span 3</span>
</a>
</li>
<li class="m-menu__item" m-menu-link-redirect="1" aria-haspopup="true">
<a href="dafduk/oa/biodataEktp/searchList" class="m-menu__link ajaxify" data-cek="020202" data-target="siakContent" data-hidden="siakContentHandlebar" data-server="true" data-refresh="m_header_menu_default">
<i class="m-menu__link-bullet m-menu__link-bullet--dot m--visible-tablet-and-mobile-table-cell">
<span></span>
</i>
<span class="m-menu__link-text">Span 4</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
我尝试使用此代码:
clickSpan = driver.find_element("xpath",'//span[text()="Span 1"]')
clickSpan.click()
但这不起作用,我收到此错误:
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <span class="m-menu__link-text">...</span> is not clickable at point (713, 175). Other element would receive the click: <div class="blockUI blockOverlay" style="z-index: 99999; border: none; margin: 0px; padding: 0px; width: 100%; height: 100%; top: 0px; left: 0px; background-color: rgb(0, 0, 0); opacity: 0.03; cursor: wait; position: absolute;"></div>
抱歉,我对 selenium webdriver 很陌生。谁能帮我?我真的很感谢你的帮助!
以下错误信息:
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <span class="m-menu__link-text">...</span> is not clickable at point
表明无法单击所需的元素,因为其他一些元素正在拦截单击。
遇到这种情况,您可以尝试以下方法来解决。
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//span[text()='Span 1']"))).click()
进口:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
time.sleep(5)
clickSpan = driver.find_element(By.XPATH, "//span[text()='Span 1']")
driver.execute_script("arguments[0].click();", clickSpan)
进口:
import time