我想從頁面中單擊“進行中的球門線”下的所有矩形圖標(圖標看起來像足球場)。我嘗試了很多次但沒有成功。如果有人知道如何單擊這些所有圖標,請幫助我。from time import sleepfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options()# chrome_options.add_argument("--headless")chrome_options.add_argument('--start-maximized')driver = webdriver.Chrome(options=chrome_options, executable_path=r"chromedriver.exe")driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""})url = 'https://www.bet365.com/#/IP/B1'driver.get(url)sleep(10)res = driver.execute_script("return document.documentElement.outerHTML")sleep(10)click_icon = driver.find_element_by_css_selector(".ovm-MediaIconContainer_Buttons div")click_icon.click()
1 回答

aluckdog
TA貢獻1847條經驗 獲得超7個贊
(移動評論來回答)
兩個問題:
您正在使用 搜索類和標簽
find_element_by_css_selector
。將此更改為僅搜索類名。要返回元素集合,請使用
find_elements_by_css_selector
it 返回元素列表。
替換這段代碼:
click_icon = driver.find_element_by_css_selector(".ovm-MediaIconContainer_Buttons div") click_icon.click()
有了這個:
icon_list = driver.find_elements_by_css_selector(".ovm-MediaIconContainer_Buttons") for icon in icon_list: # every icon in list icon.click() # click single icon
添加回答
舉報
0/150
提交
取消