Python Selenium - Как нажать кнопку AJAX?(Селен не находит XPath) - PullRequest
0 голосов
/ 08 июня 2018

В Python Selenium, как я могу нажать кнопку AJAX, используя XPath?

Пример:

driver.find_element_by_xpath('//[@id="btn_fx_contract"]').click

Эта кнопка - Zebra_Dialog.

HTML-код:

<input type="button" id="btn_fx_contract" class="btn_fx_print_red" value="accept" onclick="fx_contract_save('0000000', 'B')">

Функция fx_contract_save - AJAX.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

В соответствии с HTML, чтобы щелкнуть по элементу, вы должны заставить WebDriverWait для элемента быть активным , и вы можете использовать любое из следующих решений:

  • CSS-селектор :

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.btn_fx_print_red#btn_fx_contract"))).click()
    
  • XPATH :

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='btn_fx_print_red' and @id='btn_fx_contract']"))).click()
    
0 голосов
/ 08 июня 2018
driver.find_element_by_id('btn_fx_contract').click

Поиск по идентификатору - более надежный способ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...