我想點擊頁面上的按鈕:
我撰寫如下示例代碼:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
url='https://igs.org/network/'
driver.get(url)
time.sleep(4)
myxpath = '/html/body/main/div/div/div[2]/div/div[2]/div[1]/div[2]/button[2]'
el = driver.find_element_by_xpath(myxpath).click()
我有這樣的錯誤
NoSuchElementException:沒有這樣的元素:無法找到元素:{“method”:“xpath”,“selector”:“/html/body/main/div/div/div 2 /div/div 2 /div 1 /div 2 /按鈕2 "}
我做錯了什么?有沒有人對導航這些元素有任何想法?
uj5u.com熱心網友回復:
您嘗試單擊的元素位于 iframe 內。您需要先切換到 iframe 才能訪問該元素。
使用WebDriverWait()并等待可用的幀并切換它并跟隨 css 選擇器。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
url='https://igs.org/network/'
driver.get(url
wait=WebDriverWait(driver, 20)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe[src='/imaps/map.html']")))
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'button.toggler'))).click()
uj5u.com熱心網友回復:
該按鈕的 xpath 是這個//*[@id="side-controls"]/button[2]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/483252.html
