这是skyscanner的网站。选择航班后,我想点击每个“选择按钮”(价格为687美元),然后转到下一页。在下一页,我想点击向下箭头进行出境航班。然后我再次想要点击选择按钮($ 715)和再次出站航班箭头。因此,它可以在所有可能的页面上进行所有可能的搜索循环。
这是下一页的向下箭头
这是我到目前为止编写的代码 :
driver = webdriver.Chrome( )
driver.get('https://www.skyscanner.com/transport/flights/nyca/lax/170717/170718/airfares-from-new-york-to-los-angeles-international-in-july-2017.html?adults=1&children=0&adultsv2=1&childrenv2=&infants=0&cabinclass=economy&rtn=1&preferdirects=false&outboundaltsenabled=false&inboundaltsenabled=false&ref=home#results')
while True:
items=driver.find_element_by_class_name("fss-bpk-button expand-cba select-action")
for i, item in enumerate(items):
driver.find_element_by_class_name("fss-bpk-button expand-cba select-action").click()
for j, item2 in item
driver.find_element_by_class_name("leg-summary-container clearfix").click()
我也试过以下但没有效果:
links = [link.get_attribute('href') for link in driver.find_element_by_class_name("fss-bpk-button expand-cba select-action")]
for link in links:
driver.get(link)
答案 0 :(得分:0)
您的第二个代码应该在一些更改后起作用:
links = [link.get_attribute('href') for link in driver.find_elements_by_css_selector("a.fss-bpk-button.expand-cba.select-action")]
请注意
find_elements_...()
代替find_element_...()
CSS
选择器或XPath
进行搜索,而不是按class
名称搜索< / LI>
醇>