我正在尝试单击网页上的“显示更多”按钮。我写了这段代码,但在代码下方出现错误。
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
#Open Chrome
driver=webdriver.Chrome(executable_path="C:/Users/chromedriver.exe")
web="https://www.expedia.com/Hotel-Search?adults=1&destination=Montreal%2C%20Quebec%2C%20Canada&endDate=2019-09-16&latLong=45.50195%2C-73.56714&localDateFormat=M%2Fd%2Fyyyy®ionId=178288&sort=recommended&startDate=2019-09-15&useRewards=true"
driver.get(web)
driver.maximize_window()
#parse html
html =driver.page_source
soup=BeautifulSoup(html,"html.parser")
time.sleep(5)
WebDriverWait(driver, 5)
#click show more
show_more=driver.find_element_by_link_text('Show More')
#Another element is covering the element you are to click.
driver.execute_script("arguments[0].click();", show_more)
错误:
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"Show More"}
起初,我没有包含最后一行(execute_script ...),但我认为如果我包含该行但仍然相同,它会起作用。
任何帮助,将不胜感激。
一个额外的问题是,有没有办法多次点击“显示更多”按钮?因为我注意到我必须多次单击才能查找所有酒店列表。
慕丝7291255
Helenr
牧羊人nacy
相关分类