这是我的代码。我正在尝试的是在所有 页面中输入搜索词“BERLIN,GERMANY”打印所有酒店名称。 虽然我在Pycharm中按'运行'按钮,但屏幕上没有任何内容。 任何人都可以弄清楚我的代码中有什么错误吗?Selenium + Python:for ..(loop)不能按预期工作
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'是空的......你可以尝试'打印(hotel_name)'? – Andersson
@安德森感谢您的回答!当我要更改打印(hotel_name)时,它仅打印第一个酒店名称的硒值,然后单击第二页上的...并卡在那里! –