簡體   English   中英

我怎樣才能避免這個解決這個異常?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM