我需要在 python 中抓取一個頁面,其中包含一些類似數字的類class1, class2, class3, ... classN,我想找到所有這些類中包含的文本。
我嘗試使用find_element()功能:
list = []
for i in range(N-1)
list.append(driver.find_element(By.CLASS_NAME, "class" str(i 1) ).text))
但不幸的是,我收到此錯誤訊息:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".class1"}
(Session info: chrome=107.0.5304.68)
還有其他方法可以讓我在這次抓取中取得成功嗎?
編輯
這是我想抓取的頁面,我想獲得每局兩名球員都贏的比賽。
在源代碼中,類分別被命名"smh__part smh__home smh__part--" str(i 1)和"away"
uj5u.com熱心網友回復:
Class_name只接受單個類名而不是多個。而是使用css selector. 使用pythonformat()函式
list = []
for i in range(N-1):
list.append(driver.find_element(By.CSS_SELECTOR, "[class='smh__part smh__home smh__part--{}']".format(i 1)).text)
或CLASS_NAME具有單一類值
list = []
for i in range(N-1):
list.append(driver.find_element(By.CLASS_NAME, "smh__part--" str(i 1) ).text)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/523627.html
