2016-07-28 3 views
0

Ich versuche, eine Liste an der website, klicken Sie auf eine Schaltfläche ("Todas"). Die Todas Taste Id im Browser HTML-Quellcode und mein Python-Code ist:Ich kann nicht finden, Elemente durch ID in HTML-Quellseite Selen

Button Id:'ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnTodas' 

    from selenium import webdriver 
    import time 

    driver = webdriver.Firefox(executable_path='') 
    driver.implicitly_wait(12) 
    driver.get("http://www.bmfbovespa.com.br/pt_br/produtos/listados-a-vista-e-derivativos/renda-variavel/empresas-listadas.htm") 

    driver.find_element_by_id("ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnTodas") 

Fehlermeldung:

NoSuchElementException: Kann Element suchen: { "Methode": "id", "Selektor": "ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnTodas"}

in der Tat ist das Element in der HTML-Browser

https

las ich die verwandten Themen, aber ich habe keine Lösung erhalten.

Also, was muss ich tun, um auf diese Schaltfläche zu klicken und die Datenliste danach zu bekommen?

Thanks so much!

Antwort

0

Grund ist, weil diese Seite Wenn Sie einen iFrame verwenden, müssen Sie den Iframe überprüfen, bevor Sie versuchen, Ihr Element zu finden:

+0

Ihre Lösung funktioniert sehr gut. Tks! –

+0

Kein Problem, bitte markieren Sie dies als beantwortet. Vielen Dank –

0

Als ich in Ihrem vorgesehen website dieser TODAS Knopf Sehen innerhalb eines iframe mit id ist bvmf_iframe, Sie müssen diesen Rahmen wechseln, bevor Sie diese Taste, wie unten zu finden: -

driver = webdriver.Firefox(executable_path='') 
driver.implicitly_wait(12) 
driver.switch_to_frame("bvmf_iframe") 
driver.get("http://www.bmfbovespa.com.br/pt_br/produtos/listados-a-vista-e-derivativos/renda-variavel/empresas-listadas.htm") 

driver.find_element_by_id("ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnTodas")