【发布时间】:2021-10-27 00:29:01
【问题描述】:
我正在尝试获取特定航班的航空公司名称和价格。我在使用 x.path 和/或使用正确的 html 标签时遇到问题,因为当我运行下面的代码时,我得到的只是 14 个空列表。
from selenium import webdriver
from lxml import html
from time import sleep
driver = webdriver.Chrome(r"C:\Users\14074\Python\chromedriver")
URL = 'https://www.google.com/travel/flights/searchtfs=CBwQAhopagwIAxIIL20vMHBseTASCjIwMjEtMTItMjNyDQgDEgkvbS8wMWYwOHIaKWoNCAMSCS9tLzAxZjA4chIKMjAyMS0xMi0yN3IMCAMSCC9tLzBwbHkwcAGCAQsI____________AUABSAGYAQE&tfu=EgYIAhAAGAA'
driver.get(URL)
sleep(1)
tree = html.fromstring(driver.page_source)
for flight_tree in tree.xpath('//div[@class="TQqf0e sSHqwe tPgKwe ogfYpf"]'):
title = flight_tree.xpath('.//*[@id="yDmH0d"]/c-wiz[2]/div/div[2]/div/c-wiz/div/c-wiz/div[2]/div[2]/div/div[2]/div[6]/div/div[2]/div/div[1]/div/div[1]/div/div[2]/div[2]/div[2]/span/text()')
price = flight_tree.xpath('.//span[contains(@data-gs, "CjR")]')
print(title, price)
#driver.close()
这只是我的代码的第一部分,但如果不让它工作,我真的无法继续。如果有人对我做错了什么有一些想法,那就太棒了!这让我快疯了。谢谢!
【问题讨论】:
标签: python selenium google-chrome selenium-webdriver web-scraping