1 回答

TA貢獻1735條經驗 獲得超5個贊
您正在嘗試查找尚不存在的元素。頁面可能是通過 ajax 調用或其他方式更新的。
browser.find_element_by_class_name("choice.icon.rating").click()
time.sleep(1)
print(browser.find_elements_by_class_name("retableRow"))
達達姆。等待它。
更優雅的方法是等待元素存在,然后開始解析。例子:
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
def wait_for_elem_by_xpath(xp):
elem = WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.XPATH, xp)))
return elem
這樣,將示例代碼中的最后一行替換為:
your_list = wait_for_elem_by_xpath('//*[@class="retableRow"]')
print(your_list)
它會起作用。
添加回答
舉報