Это не решение, ориентированное на селен (полностью), но оно работает.Вы можете попробовать.
from selenium import webdriver
import requests
from bs4 import BeautifulSoup
url = 'https://www.macys.com/shop/featured/women-handbags'
def find_page_items(driver,link):
driver.get(link)
item_link = [item.find_element_by_tag_name('a').get_attribute('href') for item in driver.find_elements_by_css_selector('li.productThumbnailItem')]
for newlink in item_link:
res = requests.get(newlink,headers={"User-Agent":"Mozilla/5.0"})
soup = BeautifulSoup(res.text,"lxml")
name = soup.select_one("h1[itemprop='name']").text.strip()
print(name)
if __name__ == '__main__':
driver = webdriver.Chrome()
try:
find_page_items(driver,url)
finally:
driver.quit()
Вывод:
Mercer Medium Bonded-Leather Crossbody
Mercer Large Tote
Nolita Medium Satchel
Voyager Medium Multifunction Top-Zip Tote
Mercer Medium Crossbody
Kelsey Large Crossbody
Medium Mercer Gallery
Mercer Large Center Tote
Signature Raven Large Tote
Однако, если вы придерживаетесь селена, то вам нужно создавать его новый экземпляр каждый раз, когда вы просматриваете новый URL илиможет быть лучшим вариантом будет очистить кеш.