У меня есть выпадающее меню, и мне нужно проверить его записи. Если записи нет, я могу добавить новые записи, если есть только одна запись, я удаляю ее и добавляю новые записи, а когда у меня много записей (> = 2), я не могу приступить к добавлению записей. Я могу проверить это через person_rem_btn
. Если у меня есть только одна кнопка doc_person_table:0:person_rem_btn
, я могу продолжить Если у меня есть вторая кнопка doc_person_table:1:person_rem_btn
, я не могу продолжить.
Я получаю это исключение:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id='frmMain:doc_person_table:1:person_rem_btn']/span[1]"}
Однако в этом суть этот элемент может быть недоступен, я просто проверяю его существование. Буду признателен за любую помощь. Вот мой код:
if driver.find_element_by_xpath("//*[@id='frmMain:doc_person_table:1:person_rem_btn']/span[1]") == True:
print ("there are already many entries")
driver.close()
elif (driver.find_element_by_xpath("//*[@id='frmMain:doc_person_table:1:person_rem_btn']/span[1]") == False and driver.find_element_by_xpath("//*[@id='frmMain:doc_person_table:0:person_rem_btn']/span[1]") == True):
print ("there is only one entry, it will be removed to proceed")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='frmMain:doc_person_table:0:person_rem_btn']/ span[1]"))).click()
else:
print ("there is no entry, you can proceed")