如何使用Selenium/Python查找并比较具有style属性的文本?

2024-09-29 23:31:11 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉,如果这个问题措辞怪异,我刚刚开始使用Selenium。我想做一个程序,让别人知道什么时候某些口味的vapes在批发网站上几乎缺货。到目前为止,我的程序非常简单,它将处理特定vape的url,并从表格中打印出显示不同口味vape及其库存的文本

但是,我想检查库存数量(剩下的vape数量)下的文本,如果数字低于10,则打印“(这种特定的vape味道)几乎缺货!”。以下是我目前的代码:

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
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.get("https://safagoods.com/vape-shop/disposable-vape-devices/huge-disposables")


element = driver.find_element_by_xpath("//*[@id='input-option2231']").text
print(element)
driver.close()

有什么建议吗?我不打算对网站上的每一个vape都这样做,只是非常流行的vape,这样使用它的人就可以运行程序,了解他们应该先点什么,以及他们可以等待点什么。谢谢各位


Tags: from文本import程序数量by网站driver
1条回答
网友
1楼 · 发布于 2024-09-29 23:31:11

作为一种可能的解决方案,您可以检查该值是否小于x,然后将其附加到列表中。我的解决方案将向您打印一个金额小于20的列表

解决方案

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/huge-disposables")
wait = WebDriverWait(driver, 15)
table = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".table.table-bordered tr[style='background: #eeeeee;']")))
data = []
rows = driver.find_elements_by_css_selector(".table.table-bordered tr[style='background: #eeeeee;']")
for row in rows:
    #qty = row.find_element_by_xpath("./td[1]").text
    stock = row.find_element_by_xpath("./td[2]").text
    name = row.find_element_by_xpath("./td[3]").text
    if int(stock) < 20:
        data.append([stock, name])
print(*data, sep='\n')

输出:

['17', 'Banana Ice (SKU: HUGE-BI )']
['17', 'Lush Ice (SKU: HUGE-LI )']

您也可以使用以下选项打印它,不带括号:

for x in data:
    print(' '.join(x))

这将为您提供以下输出:

17 Banana Ice (SKU: HUGE-BI )
17 Lush Ice (SKU: HUGE-LI )

相关问题 更多 >

    热门问题