我很新于Python,并且正在学习如何使用Selenium爬取数据。
当我尝试从monmondo.com(以此为例)的日期选择器表单中选择日期时,遇到了问题。
这是我最远能到达的地方:(编辑:我比以前做得更好了一点,但仍然卡住了)
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("https://www.momondo.com")
browser.implicitly_wait(5)
date = browser.find_element_by_name("ctl00$Content$ctl04$SearchFormv8$SearchFormFlight$InputDepart").click()
browser.implicitly_wait(5)
test= browser.find_elements_by_xpath("//*['ui-datepicker-div']//td[@data-year='2017'][@data-month='2']/a[@class='ui-state-default'][@href='#'][text()='20']")
test[0].click()
这会导致
selenium.common.exceptions.ElementNotVisibleException: Message:
我已经使用FirePath测试了XPath,似乎它能正确地在页面源代码中找到。
日历页面在源代码中的结构如下:
<td class=" " data-handler="selectDay" data-event="click" data-month="2" data-year="2017"><a class="ui-state-default" href="#">20</a></td>
<a class="ui-state-default" href="#">20</a>
我的猜测是,数据-甚至点击触发了选择,但它似乎位于我可以找到数字的类别之上。话虽如此,我不确定是否是这种情况。
作为新手,我非常感谢您的帮助!
谢谢!