3 回答

TA貢獻1836條經(jīng)驗 獲得超4個贊
WebElement ele = driver.findElement(By.xpath("element_xpath"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", ele);
應(yīng)該能夠完全繞過彈出窗口。

TA貢獻1804條經(jīng)驗 獲得超8個贊
JavaScript 點擊將起作用,但它繞過了可能是潛在錯誤的實際原因。
ElementClickInterceptedException:?element?click?intercepted:
由于多種原因,可能會發(fā)生此異常。根據(jù) selenium 文檔,上述異常的原因是:
指示無法正確執(zhí)行單擊,因為目標元素以某種方式被遮擋。
要解決此問題,您可以使用 webdriverwait 然后檢查元素是否可單擊,然后單擊它
WebDriverWait(driver,?10).until(EC.element_to_be_clickable((By.XPATH,?"YOURXPATH']"))).click()

TA貢獻1780條經(jīng)驗 獲得超4個贊
可能有很多方法可以解決您的問題,但是由于您基本上是在嘗試避免導(dǎo)致這種確切錯誤的情況,所以我認為使用 TRY/EXCEPT 是最簡單的方法:
try:
driver.find_element_by_xpath('/html/body/div[10]/div/div[4]/button[1]').click()
except ElementClickInterceptedException:
pass
它能解決你的問題嗎?
添加回答
舉報