我對Python非常陌生,並且學習如何使用Selenium來取消數據。 (編輯:Python&Selenium無法在日期選擇器中選擇日期
我試圖挑選從一個datepicker形式的日期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和它似乎正常工作,因爲它是foun d在頁面的源代碼中。
日曆的天源代碼的網頁結構爲:
<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>
我模糊的猜測是,該數據甚至點擊觸發的選擇,但它似乎是位於班以上步驟:當我可以找到號碼。這是說我不確定是這樣。
我真的很感激,如果你能幫助像我這樣的新人!
謝謝!
ElementNotVisibleException,好了,該元素是不可見的。你能在瀏覽器中看到這個元素嗎? – Usmiech
被人說,這聽起來很直接!代碼點擊打開日曆,但不幸的是沒有任何反應。 它可能與彈出窗口有關嗎? 非常感謝您的意見。 –
因此,選取器在彈出窗口?如果沒有,並且你不能在selenium中單擊它,那麼可以使用像$(「css_selector」)這樣的jquery。click() Selenium可以執行JS。 這不應該引發錯誤,但一定要在瀏覽器中檢查開發者控制檯。順便說一句。 monmondo.com顯示一些日本託管網站 – Usmiech