python - 为什么硒有时在相同的条件下才返回数据
问题描述
我正在尝试从 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);
解决方案
推荐阅读
- python - 当行可以属于多个组时,对 pandas Series 或 DataFrame 的行进行分组
- java - 使用 JBoss 部署 REST 服务时的问题
- c# - 公开强类型列表?
- laravel - 如何使用 socket.io 从客户端发送数据到 laravel
- jquery - 如何通过单击使用 jquery 的复选框从列表中过滤这些项目包含特定文本的项目?
- typescript - vscode 找不到 typeRoots 类型定义
- swift - 标签栏项目改变颜色
- r - 无法在 R 中安装闪亮的包
- c# - Web API (.Net Core 2) 和数据库(通过代码优先实体框架创建)到 Google Cloud
- coq - 在 Coq 中用圆对称求解证明