如何获取网站的数据';s";弹出窗口;Python 3中带有Selenium Webdriver的box

如何获取网站的数据';s";弹出窗口;Python 3中带有Selenium Webdriver的box,python,python-3.x,selenium,selenium-webdriver,web-crawler,Python,Python 3.x,Selenium,Selenium Webdriver,Web Crawler,我是数据搜集方面的新手,所以如果我的问题因任何原因存在缺陷,我会提前道歉 我正在尝试删除一家航空公司的页面(,以获取航班数据(例如:飞机类型)。我成功地输入了航班数据(出发和到达机场/数据),并获得了一个包含航班建议的屏幕 在第二个屏幕中,有一个名为“Direct flight”的链接。我还包括了一个代码行来单击此链接,因此出现了一个新的弹出窗口-这一个窗口,其中包含我想要的数据(计划起飞/抵达时间、飞机类型) 但是,当我尝试使用“html=browser.page_source”(使用Beau

我是数据搜集方面的新手,所以如果我的问题因任何原因存在缺陷,我会提前道歉

我正在尝试删除一家航空公司的页面(,以获取航班数据(例如:飞机类型)。我成功地输入了航班数据(出发和到达机场/数据),并获得了一个包含航班建议的屏幕

在第二个屏幕中,有一个名为“Direct flight”的链接。我还包括了一个代码行来单击此链接,因此出现了一个新的弹出窗口-这一个窗口,其中包含我想要的数据(计划起飞/抵达时间、飞机类型)

但是,当我尝试使用“html=browser.page_source”(使用BeautifulSoup解析)下载它时,它显然只下载了上一页的内容(在单击“Direct flight”之前),而我想从弹出框中获取信息(请参阅)

我试图找到一个解决方案。通常建议使用window_handle,但我无法在这里使用它(我怀疑这个弹出窗口不是一个真正的新弹出窗口,而是某种javascript弹出窗口)

有人对如何废弃这些信息有什么建议吗

[编辑]

根据Grasshopper的建议,我尝试获取元素:

elem_=browser.find_elements_by_css_selector('.informacoesLightbox bgGrid borderIe8')
print(len(elem_))
print(type(elem_))
输出为0和(未返回任何内容)


有什么建议吗?

该信息不是您所指出的新弹出窗口,而是包含在一个div中,该div具有类
--informacoesignbox bgGrid borderIe8
。当您单击direct flight时,会切换display属性以使其可见。您可以使用css或xpath定位器从该div获取其余数据,因为e内部的div没有ID、名称等

下面是CSS--


非常感谢蚱蜢。我用更多的输入编辑了这个问题(如果你能提供帮助,请提前感谢)。
elem_=browser.find_elements_by_css_selector('.informacoesLightbox bgGrid borderIe8')
print(len(elem_))
print(type(elem_))
Flight Name - "div[class='boxVoo'] > span[class='stsLeft']"
Operator Name - "div[class='boxVoo'] > span[class='stsRight']"
Time Duration - "div[class='boxVoo'] div[class='boxInfoLight'] div[class='timeDuration']"
Aircraft Type - "div[class='boxVoo'] div[class='rightboxInfoLight'] div:nth-of-type(1)"
Tag - "div[class='boxVoo'] div[class='rightboxInfoLight'] div:nth-of-type(2)"