How to deal with timeout exception for wait.until

Exclude timeout when wati.until excute. I do not know why about this, since the img element is not displayed to the user when the web page is refreshed.

wait.until(EC.invisibility_of_element_located((By.XPATH,"//img[@src='//www.ibm.com/i/c.gif']"))) raise TimeoutException(message) selenium.common.exceptions.TimeoutException: Message: '' 

Here is my code:

 from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0 from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0 from selenium.webdriver.common.by import By import selenium.webdriver.support.ui as ui driver=webdriver.Firefox() driver.get('https://www-01.ibm.com/products/hardware/configurator/americas/bhui/launchNI.wss') driver.find_element_by_id("modelnumber").send_keys("7383AC1") driver.find_element_by_name("submit").click() element1 = driver.find_element_by_xpath("//label[contains(text(),'SLES for SAP Apps 8 Skt Virt Unlimited Subs Only 5Yr (5731SLX)')]") id=element1.get_attribute('for') driver.find_element_by_id(id).click() #updated with wait until wait.until(EC.invisibility_of_element_located((By.XPATH,"//img[@src='//www.ibm.com/i/c.gif']"))) 
+4
source share
1 answer

solved my problem by changing the codes as shown below:

 driver=webdriver.Firefox() driver.get('https://www-01.ibm.com/products/hardware/configurator/americas/bhui/launchNI.wss') driver.find_element_by_id("modelnumber").send_keys("7383AC1") driver.find_element_by_name("submit").click() element1 = driver.find_element_by_xpath("//label[contains(text(),'SLES for SAP Apps 8 Skt Virt Unlimited Subs Only 5Yr (5731SLX)')]") id=element1.get_attribute('for') driver.find_element_by_id(id).click() print driver.title wait=ui.WebDriverWait(driver,300) image1=driver.find_element_by_xpath("//img[@src='//www.ibm.com/i/c.gif']") print image1.get_attribute('class') div1=driver.find_element_by_id("genMask_c") wati.until(EC.staleness_of(driver.find_element_by_id("genMask_c")), 'visible') driver.find_element_by_id("continueTop").click() print driver.title 
0
source

Source: https://habr.com/ru/post/1490949/


All Articles