首页 > 解决方案 > 为什么硒有时在相同的条件下才返回数据

问题描述

我正在尝试从 gog.com 顶部的轮播内部打印价格。

我的脚本适用于某些价格,但并不多。我不明白,它们基本上都是一样的。我复制并粘贴了xpaths,除了第一个标签外,它们基本相同。

22.99 is at 
/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a[8]/div[2]/div/div/div[3]/div/span[2]/span

5.69 is at 
/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a[7]/div[2]/div/div/div[3]/div/span[2]/span

我收到的输出如下所示,(数字打印在对象之间。注意没有数字的空格)

<selenium.webdriver.remote.webelement.WebElement (session="097dd18658222032f950b705069bfafb", element="3aed9a9c-b010-41e0-a35d-0a2a0d2e98da")>
22.59
<selenium.webdriver.remote.webelement.WebElement (session="097dd18658222032f950b705069bfafb", element="f9dc7bcf-9e1b-482e-9bf7-fd433326f2f3")>

<selenium.webdriver.remote.webelement.WebElement (session="097dd18658222032f950b705069bfafb", element="bd7114ab-8012-4f57-b84d-49e172363cd9")>

我的脚本在下面

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")))

A = "/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a[4]/div[2]/div/div/div[3]/div/span[2]/span" # this works       it print 22.59
print(driver.find_element_by_xpath(A));
print(driver.find_element_by_xpath(A).text);
A = "/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a[7]/div[2]/div/div/div[3]/div/span[2]/span" # this doesnt work, it should print 5.69
print(driver.find_element_by_xpath(A));
print(driver.find_element_by_xpath(A).text);
A = "/html/body/div[2]/div/div[3]/div/div[3]/div[2]/div/a[8]/div[2]/div/div/div[3]/div/span[2]/span" # this doesnt work, it should print 22.99
print(driver.find_element_by_xpath(A));
print(driver.find_element_by_xpath(A).text);

标签: pythonhtmlseleniumcarousel

解决方案


推荐阅读