簡體   English   中英

我找不到要單擊的按鈕元素

[英]I can't find the button element to click on it

我試圖單擊“查看所有詳細信息”按鈕以從OpenTable擴展一家餐廳的詳細信息,但我一直沒有遇到任何異常。 韋斯比特的形象

from selenium import webdriver

driver = webdriver.Chrome(
    '/Library/Python/2.7/site-packages/chromedriver')
url = "https://www.opentable.com/chicago-illinois-restaurant-listings"
driver.get(url)

element = driver.find_element_by_xpath(
    '//*[@id="search_results"]/div[2]/div[1]/div/div[2]/div[1]/a')
element.click()
driver.find_element_by_css_selector(
    '#overview-section > div:nth-child(4) > div.f9f46391 > button').click()

driver.quit()

每個結果鏈接都有target='_blank'屬性。 這意味着如果單擊鏈接詳細信息頁面,將在新選項卡中打開。 要處理新標簽上的元素,您應該切換到它:

driver.get(url)
current = driver.current_window_handle
driver.find_element_by_css_selector('a.rest-row-name').click()
driver.switch_to.window([tab for tab in driver.window_handles if tab != current][0])

請注意,您還應該等待按鈕變為可點擊狀態:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC

wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, '//button[.="View all details"]'))).click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM