1

I'm not a programmer but I'm trying to learn some things that will help me with my tasks in my job I am trying to work with the loops and I want from my code

*If the element does not exist on the page, then I want the process to be skipped to the next line from my excel sheet ..

  ReID=ws1.cell(row=i, column=int(1)).value
  REG1="//a[contains(., 'Details') and contains(@href,"+str(ReID)+")]"
  WebDriverWait(driver, 20).until(
  EC.element_to_be_clickable((By.XPATH, REG1))).click()

My Full code :-

 path1 = r"C:\Users\ahmedb\Downloads\COURSE_REGISTRATION.xlsx"
 wb1 = openpyxl.load_workbook(path1) # this will open your excel file
 ws1 = wb1.worksheets[0] # this will open your excel sheet1
 LastRowCount = ws1.max_row # this will find max row from the excel
  start_row_number = 2

  for i in range(int(start_row_number), int(LastRowCount)):

  ReID=ws1.cell(row=i, column=int(1)).value  


  REG1="//a[contains(., 'Details') and contains(@href,"+str(ReID)+")]"
  WebDriverWait(driver, 20).until(
  EC.element_to_be_clickable((By.XPATH, REG1))).click() 

#If the above element on the page - .click() and continue with the code

#If the above element is not the page - Stop and re-search on the next line of

ReID=ws1.cell

The following line of code should run if the above element is available

  select = Select(driver.find_element_by_id('m_m_cBody_bdy_tbl_p_e_status'))
  select.select_by_visible_text('Accepted and Course not ended')
  select.select_by_value('Accepted')
  time.sleep(1)

  s = driver.find_element_by_xpath("//*[text()='Save']")
  driver.execute_script("arguments[0].click();",s)

  time.sleep(2)
  driver.quit()

1 Answer 1

1

to check an element exist use the if condition as if driver.find_element_by_xpath(REG1)!=null

below should be your full code

 WebDriverWait(driver, 20).until(
      EC.element_to_be_clickable((By.XPATH, REG1)))
    if driver.find_element_by_xpath(REG1)!=null
    find_element_by_xpath(REG1).click()
    select = Select(driver.find_element_by_id('m_m_cBody_bdy_tbl_p_e_status'))
      select.select_by_visible_text('Accepted and Course not ended')
      select.select_by_value('Accepted')
      time.sleep(1)
    
      s = driver.find_element_by_xpath("//*[text()='Save']")
      driver.execute_script("arguments[0].click();",s)
    
      time.sleep(2)
      driver.quit()
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.