Используйте WebDriverWait
и visibility_of_all_elements_located
, а затем xpath
для достижения этого.
elements=WebDriverWait(driver,20).until(EC.visibility_of_all_elements_located((By.XPATH,"//h1/a[@class='name-link' and contains(.,'T-shirt name')]")))
for element in elements :
print('T shirt name : ' +element.text)
print('T Shirt collor : ' + element.find_element_by_xpath("./following::p/a[@class='name-link']").text)
Вам необходимо импортировать следующие элементы для выполнения кода выше.
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
EDITED С опцией щелчка для определенного цвета.
elements=WebDriverWait(driver,20).until(EC.visibility_of_all_elements_located((By.XPATH,"//h1/a[@class='name-link' and contains(.,'T-shirt name')]")))
for element in elements :
print('T shirt name : ' +element.text)
print('T Shirt collor : ' + element.find_element_by_xpath("./following::p/a[@class='name-link']").text)
if element.find_element_by_xpath("./following::p/a[@class='name-link']").text=='RED':
element.find_element_by_xpath("./following::p/a[@class='name-link']").click()