程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在 Selenium/Python 中单击和打印多个元素?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在 SELEnium/Python 中单击和打印多个元素??

开发过程中遇到如何在 SELEnium/Python 中单击和打印多个元素?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在 SELEnium/Python 中单击和打印多个元素?的解决方法建议,希望对你解决如何在 SELEnium/Python 中单击和打印多个元素?有所启发或帮助;

我父亲经营一家公司,他有一个特定的批发网站,但我注意到当他购买一次性电子烟时,他必须点击每个电子烟,然后查看该电子烟每种口味的库存。我想创建一个程序,打印出每种一次性电子烟的每种口味的库存。到目前为止,我转到每个 vape 的 URL,然后检查显示不同口味库存的表格并将该表格打印出来。但是,我不想为每个电子烟输入特定的 URL,然后为每个股票表键入 print。有没有一种更简洁的方法来使用列出所有一次性电子烟的页面的 URL 使用“”driver.get('https://safagoods.com/vape-shop/disposable-vape-devices/')”和然后从那里点击所有不同的电子烟并打印出他们的库存表?对不起,如果这是一个混乱的问题。希望如果我的代码被运行,它会更好地解释它:

from SELEnium import webdriver

import time

PATH = "C:\Program files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.set_window_size(2000,1000)

driver.get('https://safagoods.com/vape-shop/disposable-vape-devices/huge-disposables')
HUGE_vape = driver.find_elemenT_By_ID('input-option2231')
print(HUGE_vape.text)
driver.get('https://safagoods.com/vape-shop/disposable-vape-devices/kangvape-onee-max-disposables')
KANG_vape = driver.find_elemenT_By_ID('input-option2228')
print(KANG_vape.text)
driver.get('https://safagoods.com/vape-shop/disposable-vape-devices/art-x-disposables')
ART_vape = driver.find_elemenT_By_ID('input-option2196')
print(ART_vape.text)


driver.close()

到目前为止我有 3 个电子烟,但有 57 个不同的电子烟,有时他们会更新商品。我不想为每个电子烟输入信息,而是想知道是否有办法从我在上面发布的初始一次性电子烟页面开始并打印出所有可用电子烟的库存。如果没有,我可以将它们全部输入,只是想看看是否有更好的选择。

解决方法

如果您使用产品抓取主页应该很容易:

解决方案

from SELEnium import webdriver
from SELEnium.webdriver.common.by import By
from SELEnium.webdriver.support.wait import WebDriverWait
from SELEnium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome(executable_path='/snap/bin/chromium.chromedriver')

driver.get("https://safagoods.com/vape-shop/disposable-vape-devices/")
wait = WebDriverWait(driver,15)
vapes = wait.until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR,".caption>.name>a")))
vape_names = []
for vape in vapes:
    vape_names.append(vape.text)
print(*vape_names,sep='\n')

结果

HUGE (BRAND) DISPOSABLE VAPE DEVICES 10PC [3000 PUFFS]
KANGVAPE ONEE MAX DISPOSABLE VAPE DEVICES 10PC [5000 PUFFS]
ART X DISPOSABLES 10PC [5000 PUFFS]
FUME INFINITY DISPOSABLE VAPE DEVICES 5PC DISPLAY BOX
SEA AIR PLUS DISPOSABLE VAPES 10PC
HYDE RETRO RECHARGE DISPOSABLES 10PC DISPLAY BOX

等等...

从技术上讲,您创建一个空列表并在其中添加文本值。 请注意我如何使用 css 选择器和显式等待。

大佬总结

以上是大佬教程为你收集整理的如何在 Selenium/Python 中单击和打印多个元素?全部内容,希望文章能够帮你解决如何在 Selenium/Python 中单击和打印多个元素?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。