我在Python 3中使用Selenium WebDriver来抓取this webpage / relevant HTML (Pastebin),并试图在&#34;离港航班&#34;中获取价格清单。 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。感谢。
答案 0 :(得分:0)
您可以使用此cssSelector并从Depart航班获取所有价格:
cssSelector:
div[class='fare-button--hybrid'] span>span[class*='screen-reader']
试试这个cssSelector并告诉我状态。 如果您对此有任何疑虑,请与我们联系。
答案 1 :(得分:0)
你想要的元素没有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/