Tripadvisor.comの検索結果からその要素を使用してURLを選択しようとしていますが、すべての努力がうまくいっていません。私はのデータ-URL部分を取得しようとしていますSelenium Webdriverを使用して検索結果から要素のテキストを取得する方法
<div class="dp_cr loc1759051" data-url="/Hotel_Review-g304551-d1759051-Reviews-The_Leela_Palace_New_Delhi-New_Delhi_National_Capital_Territory_of_Delhi.html?t=304551">
<div class="date_picker_wrap">
<div class="prw_rup prw_datepickers_desktop_horizontal_styleguide_icon" data-prwidget-name="datepickers_desktop_horizontal_styleguide_icon" data-prwidget-init="handlers">
<span class="unified-picker" data-datetype="CHECKIN" data-emptytext="Check In" data-trackingcontext="CheckIn|DATES" data-didcreatedefaultdates="false" data-dateformat="dd/MM/yyyy" onclick="(ta.prwidgets.getjs(this,'handlers')).onDatePickerClick(this, false);">
<span class="picker-inner">
<span class="ui_icon calendar"></span>
<span class="picker-label"> Check In </span></span></span>
<span class="unified-picker" data-datetype="CHECKOUT" data-emptytext="Check Out" data-trackingcontext="CheckOut|DATES" data-dateformat="dd/MM/yyyy" onclick="(ta.prwidgets.getjs(this,'handlers')).onDatePickerClick(this, false);"><span class="picker-inner"><span class="ui_icon calendar"></span> <span class="picker-label"> Check Out </span></span></span></div></div><div class="crOverlayButton"><span class="ui_button original large w100p" onclick="ta.page.gatherDatesNear(this);">Show Prices </span></div></div>
:ここ
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time
driver = webdriver.Chrome()
base_url = 'https://www.tripadvisor.in/'
driver.get(base_url)
hotel = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'mainSearch')))
#hotel = driver.find_element_by_id("mainSearch")
hotel.send_keys('the leela palace')
time.sleep(0.5)
loc = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'GEO_SCOPED_SEARCH_INPUT')))
#loc = driver.find_element_by_id("GEO_SCOPED_SEARCH_INPUT")
loc.send_keys('New Delhi, India')
time.sleep(0.5)
search = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'SEARCH_BUTTON')))
search.submit()
time.sleep(1)
url = driver.find_element_by_class_name("dp_cr.loc1759051")
page_url = url.getAttribute("data-url")
がそこから情報を取得しようとしていますウェブサイトのhtmlの部分である: はここに私のコードですそのスクリプトを私のベースURLに連結してページにジャンプできるようにします。また、検索結果のリンクを直接クリックできる方法があれば、もっと簡単になります。しかし、検索結果の要素を見つけることができません。
これは完全に機能します。 –