Как обработать нажатие на кнопку «Скачать ключ» в веб-драйвере селена в python? - PullRequest
0 голосов
/ 09 января 2020

Я не уверен, что find_element_by_* я должен использовать в отношении нижеприведенного «проверить элемент», чтобы нажать на кнопку загрузки. Я новичок в селене, все еще занимаюсь основами.

<a href="#" style="font-size:15px;" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.forms['activationpage3'],'activationpage3:j_id_id21,activationpage3:j_id_id21','');}return false">Download Key File</a>

Ответы [ 2 ]

1 голос
/ 09 января 2020

К click() на элементе с текстом Скачать файл ключа , так как это <a> узел, который вы должны вызвать WebDriverWait для element_to_be_clickable() и вы можете использовать любую из следующих Стратегий локатора :

  • Использование LINK_TEXT:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "Download Key File"))).click()
    
  • Использование PARTIAL_LINK_TEXT:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "Download Key File"))).click()
    
  • Использование CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[onclick*='activationpage3']"))).click()
    
  • Использование XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[contains(@onclick,'activationpage3') and contains(., 'Download Key File')]"))).click()
    
  • Примечание : необходимо добавить следующие операции импорта:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
1 голос
/ 09 января 2020

Вы можете использовать ниже.

driver.find_element_by_xpath("//a[.='Download Key File']").click()

enter image description here

...