在twitch.tv/esl_csgo 上,我想單擊頻道點按鈕/圖示,但它一直給我錯誤訊息:沒有這樣的元素:無法找到元素我已經搜索并嘗試了各種方法來查找元素超過 4 小時,并且我還沒有找到點擊元素的方法
這是我的代碼,但它無法點擊我想要的按鈕,我們將不勝感激。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time
options = Options()
options.add_argument("--user-data-dir=C:\\Users\\Me\\Desktop\\UserData")
options.page_load_strategy = 'normal'
driver = webdriver.Chrome(options=options)
driver.get("https://twitch.tv/esl_csgo")
time.sleep(10)
element = driver.find_element_by_xpath('//*[@id="c7037441c8fd58e7e0ac6326babcf03d"]/div/div[1]/div/div/div/div/div/section/div/div[5]/div[2]/div[2]/div[1]/div/div/div/div[1]/div[2]/button/div/div/div/div[2]/span')
element.click()
uj5u.com熱心網友回復:
點擊的第一通道點按鈕/圖示,則需要引起WebDriverWait的element_to_be_clickable(),你可以使用以下的定位策略:
使用
CSS_SELECTOR:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div[class^='InjectLayout-sc'] > div span[data-test-selector]"))).click()使用
XPATH:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[starts-with(@class, 'InjectLayout-sc')]/div//span[@data-test-selector]"))).click()注意:您必須添加以下匯入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/363274.html
上一篇:無法通過python獲取所有鏈接
