1
私は今月と来月に利用できずに利用可能なカレンダーデータをすべて取得しようとしています。私は分裂を得ることに運がなかった。私が使用したコードは以下の通りです。私はそれらの日付が利用可能であるか利用不可能であるかを識別する属性を持たないすべての日付を取得できるか、または反復しようとするとエラーが発生する "selenium.common.exceptions.StaleElementReferenceException:メッセージ:要素はもはやDOM "Python2.7でSeleniumを使用してウェブサイトのカレンダーデータを取得しようとしています
from selenium import webdriver
url = 'https://www.airbnb.com/rooms/4660676'
driver = webdriver.Firefox()
driver.get(url)
element = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH,'/html/body/main/div[3]/div[4]/div/div/div[2]/div[4]/div/div[1]/div/form/div/div/div[2]/button'))
)
element.click()
#This one gets me all the dates
#listitems=driver.find_elements_by_xpath('/html/body/div[35]/table/tbody/tr[5]')
#If I try something like the following to then be able to get get_attribute then I get the error mentioned above
#available=driver.find_elements_by_xpath('//tr')
#for i in available: print i.text
どのように日付を取得する方法でしょう。ありがとう。それを修正することができるように理解する
ありがとうございます!私は3つのフォローアップの質問があったと思う:(1)なぜ日付を得るためにCSSセレクターが良いですか? (2)次の月のボタンをクリックすると、それはボタンのように見えないので、(3)その月の値を引き出す方法があるので、月の日の可用性のようなものを得るでしょう – FancyDolphin
@FancyDolphin(1)それは必ずしも良いとは言えませんが(多くの人がそう言っていますが)、一般的にはブラウザによってはより簡潔で高速です(2)カレンダーの上部にある「a」リンクは月を変更する、右(3)よく、あなたはすでに日を知っている、月はここにある: ' 3月' - あなたが次に何をしようとしているかに応じて、 date/datetimeオブジェクトの日付は有益かもしれませんが、おそらくこれは別の質問の一部です。ありがとうございます。 – alecxe
ルーキーの質問で私を助けてくれてありがとうもう一度 – FancyDolphin