2014-09-17 6 views
0

Я пытаюсь загрузить pdf-файлы на этой странице http://stivconsultasexternas.cnbv.gob.mx/ConsultaInformacionEmisoras.aspx. Я хочу выбрать webdriverelement с именем «ctl00 $ DefaultPlaceholder $ ComboFiltroPersonalizado», но это скрытый элемент и не отображается.Выберите скрытый элемент, используя Selenium Python

Вот мой код. Я ценю любую помощь.

import selenium as sel 
driver = sel.webdriver.Firefox() 
driver.get("http://stivconsultasexternas.cnbv.gob.mx/ConsultaInformacionEmisoras.aspx") 
elem=driver.find_element_by_name("ctl00$DefaultPlaceholder$ComboFiltroPersonalizado") 

Я хочу выбрать опцию «Ver todos». Спасибо.

ответ

1

Вам действительно нужно нажать на соответствующий элемент td, который можно щелкнуть. При нажатии на нее делает выпадающий открыт:

elem = driver.find_element_by_id("ctl00_DefaultPlaceholder_ComboFiltroPersonalizado_B-1") 
elem.click() 

FYI, я использовал инструменты для разработчиков браузера проверять, какой элемент находится под v кнопки:

enter image description here


Тогда, для выбора Ver todos, вы можете найти его по ID, но раньше - wait for it:

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


driver = webdriver.Firefox() 
driver.get("http://stivconsultasexternas.cnbv.gob.mx/ConsultaInformacionEmisoras.aspx") 

elem = driver.find_element_by_id("ctl00_DefaultPlaceholder_ComboFiltroPersonalizado_B-1") 
elem.click() 

elem = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'ctl00_DefaultPlaceholder_ComboFiltroPersonalizado_DDD_L_LBI3T0'))) 
elem.click() 
+0

Можете ли вы объяснить, как найти нужный элемент для отображения скрытого элемента? – unutbu

+1

@unutbu хорошая точка, спасибо, добавлены некоторые заметки. – alecxe

+0

Большое спасибо. если вам неудобно, вы объясните мне, как разрешить вариант «Ver todos»? Во всяком случае, я это очень ценю. – Nash

Смежные вопросы