簡體   English   中英

無法在 Python 中使用 Selenium 找到元素

[英]Unable to find element using Selenium in Python

我正在嘗試單擊一個按鈕,但 selenium 找不到該元素。

在此處輸入圖像描述

我正在使用 xpath:

//button[@title="Monitor Chart(Ctrl+Alt+G)"]

但 selenium 無法定位。 如圖所示,我可以使用 find(Ctrl+F) 工具從 Chrome 手動找到 xpath。

這是我的代碼和錯誤。 xpath 沒有 ID。

代碼快照:

在此處輸入圖像描述

要單擊可點擊元素,您需要為element_to_be_clickable()誘導WebDriverWait ,您可以使用以下任一定位器策略

  • 使用CSS_SELECTOR

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.eui-btn.eui-btn-default.eui-btn-normal[title^='Monitor Chart']"))).click()
  • 使用XPATH

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='eui-btn eui-btn-default eui-btn-normal' and starts-with(@title, 'Monitor Chart')]"))).click()
  • 注意:您必須添加以下導入:

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

hiding_button = WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[title ='Monitor Chart(Ctrl+Alt+G)']")))
hiding_button.click()

謝謝大家。 但我弄清楚了這個問題。 該按鈕位於 iFrame 內部。 所以我不得不先切換到 iFrame。

使用的代碼:iframe = driver.find_element_by_id('Access_Performance_Monitor') driver.switch_to.frame(iframe)

暫無
暫無

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

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