我正在使用Python 3中的Selenium WebDriver来抓取此网页/相关HTML(Pastebin(,并试图在"出发航班"div中获取价格列表。这个div没有ID,也没有CSS类名,所以我尝试通过XPath识别它。在 Pastebin 上,要找到我正在谈论的div,请按 Ctrl + F <div class="">
.
这是我的代码:
outbound_fares = browser.find_elements_by_xpath("//*[@id='air-booking-product-0']/div[4]")
outbound_prices = outbound_fares.find_elements_by_class_name("currency_dollars")
第一行应标识div,第二行应获取该div 内所有价格的列表。但是,我发现outbound_prices
是空的。我的猜测是第一行是错误的,但我不确定如何正确识别div
您可以使用此 cssSelector 并获取出发航班的所有价格:
css选择器 :
div[class='fare-button--hybrid'] span>span[class*='screen-reader']
试试这个cssSelector,让我知道状态。如果您对此有任何疑问,请告诉我。
你想要的元素没有 ID,但我不知道你所说的"没有 CSS 选择器"是什么意思。另一个定位器在查找它等方面可能更有效,但页面上的每个元素都可以通过CSS选择器找到。
您可以使用此 CSS 选择器返回页面上的所有价格。
span.fare-button--value-total
以下是一些参考资料,以了解有关CSS选择器以及如何使用它们的更多信息。
https://www.w3.org/TR/selectors/#overview
https://saucelabs.com/resources/articles/selenium-tips-css-selectors
https://www.smashingmagazine.com/2009/08/taming-advanced-css-selectors/