Я тоже хотел бы увидеть ваш HTML или получить ссылку на веб-страницу, чтобы проверить xpaths.Однако, основываясь на ваших результатах, я думаю, что вы, вероятно, не переключаетесь в окно [0] с неопределенным значением.Вы выполняете переключение окон внутри своих операторов if, поэтому, если ни одно из этих условий не будет выполнено, вы не переключите окна.Попробуйте отключить переключатель окна из вашего if, возможно, вот так:
for c in range(sheet.ncols):
for r in range(sheet.nrows):
st = (sheet.cell_value(r, c))
print(str(st))
xpath1 = "//input[@value='Analyze' and contains(@onclick,'" + str(st) + "')]"
#xpath = "//input[@value='Analyze'][.='" + st + "']"
print(driver.title)
print(len(driver.find_elements_by_xpath(xpath1)))
if driver.find_elements_by_xpath(xpath1):
print("loop")
driver.find_element_by_xpath(xpath1).click() # Here new window will open
time.sleep(2)
#Main_Window = driver.current_window_handle
driver.switch_to.window(driver.window_handles[-1])
driver.find_element_by_xpath('/html/body/table/tbody/tr[4]/td/table/tbody/tr[9]/td[3]/input').click()
driver.close()
driver.switch_to.window(driver.window_handles[-1])
xpath2 = "//*[@id='create_button']"
xpath3 = "//*[@id='update_button']"
if check_exists_by_xpath(xpath2):
driver.find_element_by_xpath(xpath2).click()
driver.close()
driver.switch_to.window(driver.window_handles[0])
Я не думаю, что вам даже нужен ваш второй оператор if, потому что он просто содержит
driver.close()
driver.switch_to.window(driver.window_handles[0])