簡體   English   中英

網站上的文字未使用 selenium 抓取

[英]Text on website not scraping using selenium

我正在嘗試從我們訂購輪胎的網站發送文本到 discord 嵌入。 我登錄該站點,搜索一個項目,然后看到它可用。 我希望 discord 嵌入顯示可訂購的數量,但它不顯示任何內容。 它顯示的其他元素不顯示AvailableAlt PlantTire TreadEst Delivery

(如果我的代碼很亂,我深表歉意,我是新手,過去一個小時我一直在玩它)

# Finding the Quantity + Tire Description
    try:
        available1 = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='resultsTable']/tbody/tr[2]/td[9]"))
        )
        altPlant1 = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[2]/div/form/div[1]/table/tbody/tr[2]/td[10]"))
        )
        estDelivery1 = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[2]/div/form/div[1]/table/tbody/tr[2]/td[11]"))
        )
        tireSize1 = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[2]/div/form/div[1]/table/tbody/tr[2]/td[5]"))
        )
        tireTread1 = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='resultsTable']/tbody/tr[2]/td[7]"))
        )
        itemCode1 = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/div[2]/div/form/div[1]/table/tbody/tr[2]/td[2]"))
        )
    except:
        driver.quit()
    
    available = available1.text
    altPlant = altPlant1.text
    estDelivery = estDelivery1.text
    tireSize = tireSize1.text
    tireTread = tireTread1.text
    itemCode = itemCode1.text

    print(available)
    print(altPlant)
    print(estDelivery)
    print(tireSize)
    print(tireTread)
    print(itemCode)
    
# Discord Embed Setup   
    embed = Embed(
        description='**Stock available for item number '+pItemNumber+'**',
        color=0x0d0d22,
        timestamp='now'  # sets the timestamp to current time
        )

    embed.set_author(name='Pirelli Stock Check')
    embed.add_field(name='Item Number', value=itemCode, inline=True)
    embed.add_field(name='Tire Description', value=tireTread+' '+tireSize, inline=True)
    embed.add_field(name='Available', value=available+' In Stock', inline=False)
    embed.add_field(name='Alt Plant', value=altPlant+ ' In Stock', inline=True)
    embed.add_field(name='Est Delivery', value=estDelivery+'1', inline=True)
    embed.set_footer(text='Tires Tools', icon_url='https://cdn.discordapp.com/avatars/628005829840470037/8286685de0f2d7d94d94e020caf3265d.png?size=128')

    hook.send(embed=embed)

    print("Embed sent to discord!")

我需要的 4 個字符串也在源代碼中。 tireTread = CINTURATO P7available = 12altPlant = 7estDelivery = 08/24/2020

4 rl

這是通過我的 discord 嵌入得到的。

在此處輸入圖像描述

知道我做錯了什么嗎? 如果您需要更多信息,請告訴我。

您可以通過 ID 或 CSS class 查找元素:

table = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID, "tabla_evolucion")))


table = WebDriverWait(driver,10).until(EC.presence_of_element_located((By.class, "css-class sub-class")))

我建議您按 ID 查找表,然后循環讀取行。 也許您需要根據需要更改以下代碼。

table_id = self.driver.find_element(By.ID, 'table_id')
rows = table_id.find_elements(By.TAG_NAME, "tr") # get all of the rows in the table
for row in rows:
    # Get the columns (all the column 2)        
    col = row.find_elements(By.TAG_NAME, "td")[1] #note: index start from 0, 1 is col 2
    print col.text #prints text from the element

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM