перебор карусельных объектов по xpath в python с селеном - PullRequest
3 голосов
/ 31 марта 2020

Я хочу перебрать эту карусель в верхней части gog.com. он рекламирует игры на продажу. Я хочу пройтись по каждому слайду карусели и узнать цену каждого. Я взял 2 xpath для цен на разные игры.

/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a[4]/div[2]/div/div/div[3]/div/span/span

/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a[10]/div[2]/div/div/div[3]/div/span/span

Я думаю, я мог бы просто перебирать теги a, например

for i in range(15):
    i+=1;
    A = "/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a["+str(i)+"]/div[2]/div/div/div[3]/div/span[2]/span"
    try:
        print(driver.find_elements_by_xpath(A));

, но я не могу заставить его напечатать цену.

ниже мой полный сценарий

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium import webdriver

driver = webdriver.Chrome(executable_path=r"../Downloads/chromedriver.exe")
driver.get('https://www.gog.com/')
driver.maximize_window()
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,"/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a[10]/div[2]/div/div/div[3]/div/span/span")))

for i in range(15):
    i+=1;
    A = "/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a["+str(i)+"]/div[2]/div/div/div[3]/div/span[2]/span"
    try:
        print(driver.find_elements_by_xpath(A));
        print(driver.find_elements_by_xpath(A).text);
        print(str(driver.find_elements_by_xpath(A)));
    finally:
        pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...