Попробуйте использовать понимание списка, чтобы достичь результатов.Просто взгляните на эту часть (By.XPATH(XPathLocation)))
, которую вы использовали, которая должна быть wait.until(EC.visibility_of_all_elements_located((By.XPATH, "some_xpath")))
.
Исправленная часть больше похожа на:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
with webdriver.Chrome() as driver:
wait = WebDriverWait(driver, 10)
driver.get("https://shop.freedommobile.ca/devices")
item_links = [item.get_attribute("href") for item in wait.until(EC.visibility_of_all_elements_located((By.XPATH, "//a[contains(@class,'__DeviceDetailsButton')]")))]
print(item_links)