无法从弹出窗口中删除文本

时间:2018-03-11 17:46:16

标签: python selenium web-scraping scrapy selenium-chromedriver

当我转到下面的链接并单击详细信息按钮时,将打开一个弹出窗口。我想从这个弹出窗口中获取数据,但我无法从此弹出窗口中获取任何类型的文本。但是,我可以访问其他所有元素。但是当我尝试从这些元素中获取文本时,它会给我一个空字符串。

link:http://www.finduniversity.ph/universities/university-of-the-philippines-diliman/diploma-courses/

>>> driver.find_element_by_class_name('DetailsHeader').text

输出:

u''

谁能告诉我我的方法有什么问题? 我正在使用python 2.7和selenium。

1 个答案:

答案 0 :(得分:1)

基页上有很多div个节点,类名为DetailsHeader,但它们是隐藏的。 text属性仅返回可见元素的文本。如果元素不可见,text将返回一个空字符串。 driver.find_element_by_class_name('DetailsHeader')为您提供了基页的第一个元素,但不是来自模态。这就是你得到空字符串的原因。

如果您需要模态窗口中的那个,则需要更具体的选择器:

driver.find_element_by_css_selector("div#Modal div.DetailsHeader").text