我撰寫了代碼來替換業務流程并提高我們部門的生產力。但是,我被困在了最后一道錯誤中:
'Traceback (most recent call last):
File "C:\Users\josh.bailey\Documents\test4.py", line 36, in <module>
ws.cell(row = row, column = 1).value = str
File "C:\Program Files\Utils\Python38\lib\site-packages\openpyxl\worksheet\worksheet.py", line
237, in cell
if row < 1 or column < 1:
TypeError: '<' not supported between instances of 'tuple' and 'int'
[Finished in 19.7s]'
代碼如下:
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=2, 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
)
ws.cell(row = row, column = 1).value = str
(driver.find_element(By.XPATH, "//dt[text()='Colour']/following::dd[1]").text)
time.sleep(5)
finally:
wb.save('data.xlsx')
driver.quit()
我試圖用 Stack 上另一個用戶推薦的以下陳述句替換第一個 FOR 陳述句:
for row in range(2,7):
然而,這只是將值“2”輸入到網頁上的車輛登記搜索中。
有什么想法我會出錯嗎?這顯然是第 36 行中的一個錯誤,其中兩種資料型別彼此不兼容,只是沒有 100% 解決它。
這就是 data.xlsx 的顯示方式:

uj5u.com熱心網友回復:
您現有的for回圈不起作用的原因是該iter_rows函式回傳一個生成器而不是一個可迭代的。
for row in range(2,7):是正確的解決方案,但您需要更改search.send_keys(str(row)),因為這是導致在表單欄位中輸入值“2”的原因。相反,您還需要使用行和列整數從單元格中查找值,并將其傳遞給表單。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466299.html
