ここは私のコードです。私がしようとしているのは、すべて ページのすべてのホテル名を「BERLIN、GERMANY」という検索語で印刷することです。 Pycharmの '実行'ボタンを押している間、画面に何も印刷されていません。 誰かが自分のコードで間違いが何であるか把握できますか?Selenium + Python:for ..(ループ)が期待どおりに動作しない
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
my_list = []
driver = webdriver.Chrome("C:\\Python27\\selenium\\webdriver\\chrome\\chromedriver.exe")
driver.get('http://booking.com')
driver.find_element_by_css_selector("input#ss").send_keys("BERLIN, GERMANY")
driver.find_element_by_css_selector("button.sb-searchbox__button").click()
hotel_name = driver.find_elements_by_css_selector(".sr-hotel__name")
visible_next=driver.find_element_by_css_selector(".paging-next")
driver.maximize_window()
for link in hotel_name:
scrap_hotel_name = link.text
print (scrap_hotel_name)
my_list.append(scrap_hotel_name)
while True:
click_icon = WebDriverWait(driver, 4).until(EC.visibility_of_element_located([By.LINK_TEXT, 'Next page']))
click_icon.click()
ありがとうございました@Wondercricket –
これはあなたの 'hotel_name'が空であると思います...あなたは' print(hotel_name) 'を試すことができますか? – Andersson
@Anderssonあなたの答えをありがとう! print(hotel_name)に変更すると、最初のホテル名のセレン値だけが印刷され、2ページ目にはクリックされます。最後の行に –