【发布时间】:2018-01-04 04:59:15
【问题描述】:
我想在 Python 中使用 Selenium webdriver 解析网页中的价格列表。因此,我尝试使用此代码获取所有 DOM 元素
url = 'https://www.google.com/flights/explore/#explore;f=BDO;t=r-Asia-0x88d9b427c383bc81%253A0xb947211a2643e5ac;li=0;lx=2;d=2018-01-09'
driver = webdriver.Chrome()
driver.get(url)
print(driver.page_source)
问题是我从page_source 得到的与我在检查元素中看到的不同
<div class="CTPFVNB-f-a">
<div class="CTPFVNB-f-c"></div>
<div class="CTPFVNB-f-d elt="toolbelt"></div>
<div class="CTPFVNB-f-e" elt="result">Here is the difference</div>
</div>
区别存在于CTPFVNB-f-e 类中。在检查的 DOM 元素中,此标记包含我想要获取的所有价格。但是,page_source 的结果中,缺少这部分。
谁能告诉我我的代码有什么问题?还是我需要进一步的步骤来解析价格列表?
【问题讨论】:
-
您尝试检索的内容是使用 JavaScript 动态生成的。它不在页面源中。
-
您可能需要等到完整的 DOM 加载完毕。添加一些延迟,然后重试。
标签: python python-3.x selenium selenium-webdriver