[FIXED] Das Klicken auf einen Hyperlink mit xpath und CSS-Selektor funktioniert nicht

Ausgabe

Ich möchte, dass der Selenium-Treiber auf die Exportschaltfläche klickt, wie im Bild gezeigt.
Geben Sie hier die Bildbeschreibung ein

Hier ist der HTML-Code:

<a class="btn bx-noIcon-margin" rel="tooltip" title="" onclick="if (!this.getAttribute('disabled')) jq_load_dialog('/index.php/filter/export/f/KbInvoiceFilter/m/kb_invoice/a/list',{autoOpen:false, bgiframe:false, close:'function() { $(this).dialog(\'destroy\'); }', maxHeight:2000, maxWidth:2024, modal:true, resizable:false, title:'Download as Excel file', width:400},'#jqDialog'); return false;" href="/index.php/filter/export/f/KbInvoiceFilter/m/kb_invoice/a/list" data-original-title="Export current list"><i class="glyphicons download_alt"></i> </a>

Ich habe versucht: aus dem Vorschlag hier
driver.find_element(by=By.XPATH("//a[@href='/index.php/filter/export/f/KbInvoiceFilter/m/kb_invoice/a/list']")).click();

aber es kehrt zurück

str ist nicht aufrufbar.

Dann habe ich versucht, CSS_SELECTOR basierend auf den Dokumenten hier zu verwenden :

driver.find_element(By.CSS_SELECTOR, 'i.glyphicons download_alt').click()

es kehrt zurück

NoSuchElementException

Lösung

Versuchen Sie es mit unten

driver.find_element(By.CSS_SELECTOR, 'i.glyphicons.download_alt').click()

ODER Fügen Sie hinzuExplicitWait

from selenium.webdriver.common.by
import By
from selenium.webdriver.support.ui
import WebDriverWait
from selenium.webdriver.support
import expected_conditions as EC

element = WebDriverWait(driver, 20).until(
   EC.element_to_be_clickable((By.CSS_SELECTOR, "i.glyphicons.download_alt")))

element.click();


Beantwortet von –
Akzy


Antwort geprüft von –
Mary Flores (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like