簡體   English   中英

Append Excel中的數據使用Python Selenium Openpyxl

[英]Append data in Excel using Python Selenium Openpyxl

我有一張包含 5 個注冊號的工作表,已成功將其輸入到網頁搜索中,代碼運行時沒有錯誤,同時對“A”列 (Col=0) 中的每一行使用“For”語句進行迭代。

我現在正在嘗試將 append 代碼返回的顏色放入'B'列中的相應行(col = 1)

我寫的代碼(在這里有以前的幫助)如下:

    from openpyxl import Workbook, load_workbook
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from webdriver_manager.chrome import ChromeDriverManager
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    import time

    wb = load_workbook('data.xlsx')
    ws = wb.active

    for row in ws.iter_rows(min_row=2, max_col=0, max_row=6, values_only=True):

    driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
    driver.get("https://www.google.com")

    driver.get ("https://vehicleenquiry.service.gov.uk/")

    time.sleep(5)

    search = driver.find_element(By.ID , "wizard_vehicle_enquiry_capture_vrn_vrn")
    search.send_keys(str(row))
    search.send_keys(Keys.RETURN)

    try:
        main = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.CLASS_NAME, "summary-no-action"))
            )
        
        print(WebDriverWait(driver,10).until(
            EC.visibility_of_element_located((By.XPATH, 
        "//dt[text()='Colour']/following::dd[1]"))).text
            )
        time.sleep(5)
        
    finally:
        driver.quit()

帶回顏色和打印的代碼是:

        print(WebDriverWait(driver,10).until(
            EC.visibility_of_element_located((By.XPATH, 
        "//dt[text()='Colour']/following::dd[1]"))).text
            )

有沒有一種簡單的方法可以將這個 Character 值放入我沒有看到的相鄰行中? 我假設我只是類似於:

for col in ws.iter_cols(min_row=2, max_col=2, max_row=6):
    for cell in col:
        append(cell)

但是,我認為這不會起作用,因為顏色值尚未設置為變量。 關於工作解決方案的任何想法?

在 excel 中,第一個單元格(第一行和第一列)是 1,1 沒有 0 列或 0 行

這有幫助嗎

wb = openpyxl.load_workbook('data.xlsx')
ws = wb.active

for row in range(2,7):

    YOUR_CODE

    ws.cell(row=row,column=2).value = YOUR_OUTPUT_DATA

如您所見,您可以使用 ws.cell(row=row,column=1).value

暫無
暫無

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

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