[英]How can I avoid this solve this exception?
for a in range(0,500):
driver.get("https://www.vype.com/vype-dfw-fan-poll-girls-track-runner-of-the-year")
driver.implicitly_wait(30)
vote = driver.find_element_by_xpath("//span[@class='css-answer-span pds-answer-span']
[contains(.,'Dymond Wiley, Duncanville')]")
vote.click()
button=driver.find_element_by_xpath("//a[contains(@id,'pd-vote-button10551469')]")
button.click()
time.sleep(3)
print("vote "+str(a))
有時它會卡在第三個或第四個循環中。錯誤消息是:
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <span class="css-answer-span pds-answer-span">...</span> is not clickable at point (603, 7). Other element would receive the click: <span id="pds-answer10551469">...</span>
您可以誘導 java 腳本執行器點擊該元素。
driver.execute_script("arguments[0].click();", vote)
誘導WebDriverWait
() 並等待element_to_be_clickable
() 這將減少您的時間。
for a in range(0,500):
driver.get("https://www.vype.com/vype-dfw-fan-poll-girls-track-runner-of-the-year")
vote=WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[@class='css-answer-span pds-answer-span'][contains(.,'Dymond Wiley, Duncanville')]")))
driver.execute_script("arguments[0].click();", vote)
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH,"//a[contains(@id,'pd-vote-button')]"))).click()
print("vote "+str(a))
導入以下庫。
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.