1
airpnbの各日の空室状況や価格をdatepickerカレンダーの次のボタンをクリックして運行しています。datepickerの空き状況をxヶ月間サイトで確認
def handle(self, *args, **options):
def airbnb():
display = Display(visible=0, size=(1024, 768))
display.start()
driver = webdriver.Firefox()
driver.maximize_window()
driver.get("https://www.airbnb.pt/rooms/265820")
# wait for the check in input to load
wait = WebDriverWait(driver, 10)
elem = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.book-it-panel input[name=checkin]")))
elem.click()
# wait for datepicker to load
wait.until(
EC.visibility_of_element_located((By.CSS_SELECTOR, '.ui-datepicker:not(.loading)'))
)
days = driver.find_elements_by_css_selector(".ui-datepicker table.ui-datepicker-calendar tr td")
for cell in days:
day = cell.text.strip()
if not day:
continue
if "ui-datepicker-unselectable" in cell.get_attribute("class"):
status = "Unavailable"
else:
status = "Available"
price = "n/a"
if status == "Available":
# hover the cell and wait for the tooltip
ActionChains(driver).move_to_element(cell).perform()
price = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '.datepicker-tooltip'))).text
print(day, status, price)
彼らの仕事だけで1ヶ月間の両方:
私の現在のコードのようなものです。代わりにX月を設定できるようにしたい。 homeawayためたとえば、私は、右の最初のオープンのカレンダーをクリックした後self.driver.find_element_by_css_selector('.ui-datepicker-next.ui-corner-all').click()
と試みたが、私はすべての
それがAirbnbのために動作しますが、我々は持っているので、homeawayのために、より複雑であると思われるが
MONTH_COUNT
変数が定義されて何ヶ月として処理 - ここは実装価格を得るために2カレンダーで遊んでください。あなたはその1つのためにどんな甘えがありますか? – psychok7
「first_available_date」の後に「driver.find_element_by_css_selector」(「a.ui-datepicker-next」)を追加しようとしましたが、「end_date」の後ろに「ElementNotVisibleException」が追加されました。 – psychok7
私に更新しますか私はairbnbのためにしようとしている完全なコードで私の質問? – psychok7