使用Selenium Python选择隐藏项

时间:2014-09-17 17:17:11

标签: python select selenium selenium-webdriver

我正在尝试在此页http://stivconsultasexternas.cnbv.gob.mx/ConsultaInformacionEmisoras.aspx下载pdf。我想选择名为“ctl00 $ DefaultPlaceholder $ ComboFiltroPersonalizado”的webdriverelement,但它是隐藏的元素,不可见。

这是我的代码。我感谢任何帮助。

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 个答案:

答案 0 :(得分:1)

您实际上需要单击可单击的相应td元素。点击它可以打开组合框:

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

仅供参考,我使用浏览器开发者工具来检查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()