下面是我寫的一個代碼,原理是我在資料源的excel表 testleadtime中已經羅列了目的港口的代碼和其對應的海運天數,需要到公司指定的內網進行更新資料。
跑回圈的時候,出錯怎么辦?
比如說,下面是Excel表中的第一列和第二列,POD是目的港,TL是運輸天數
跑Python的時候,如果按照下面的表格去提取資料,填到對應的網址,沒有問題
因為JPHKT,JPMOJ,JPUKB,JPNGO都在網址的后臺有維護。
POD LT
JPHKT 1
JPMOJ 2
JPUKB 3
JPNGO 4
但是如果我在原始資料的excel表中,插入一個網址后臺沒有維護的目的港DPRK
我這個for 回圈相當于是被打斷了,相當于代碼中輸入POD "DPRK" 之后點find沒有結果
POD LT
JPHKT 1
JPMOJ 2
DPRK 5
JPUKB 3
JPNGO 4
我的問題是,如何修改我的代碼,好讓回圈跳過DPRK,繼續執行下一個JPUKB直到結束?
下面是我撰寫的原始代碼
[b][b]#匯入相關的excel
import pandas as pd
data=https://bbs.csdn.net/topics/pd.read_excel("testleadtime.xlsx")
import numpy as np
data.dropna(inplace=True)
data.reset_index()
#初始步驟,登陸ALS,打開所屬模塊
from selenium import webdriver
wd=webdriver.Chrome()
wd.implicitly_wait(10)
from selenium.webdriver.support.ui import Select
from time import sleep
#登陸ALS3
wd.get("http://gsltest.upm-kymmene.com/ALS3S/run/app/home/")
#選擇SCCT
element=wd.find_element_by_xpath("/html/body/table/tbody/tr[3]/td/table/tbody/tr/td[1]/div[2]/div[1]/table/tbody/tr/td[2]/a")
element.click()
#選擇LEG
element=wd.find_element_by_xpath("/html/body/table/tbody/tr[3]/td/table/tbody/tr/td[1]/div[2]/div[3]/table/tbody/tr/td[2]/a")
element.click()
#回圈跑流程
for i in range (len(data.index)):
#選擇List of legs
element=wd.find_element_by_xpath("/html/body/table/tbody/tr[3]/td/table/tbody/tr/td[1]/div[2]/div[4]/table/tbody/tr/td[2]/a")
element.click()
#選擇SEA
select=Select(wd.find_element_by_css_selector("[name='transportmode']"))
select.select_by_value("SEA")
#輸入POL
wd.find_element_by_css_selector("[name='picklocation']").send_keys("SG01")
#輸入POD
wd.find_element_by_css_selector("[name='droplocation']").send_keys(data.iloc[i,0])
#點擊find
element=wd.find_element_by_xpath("/html/body/table/tbody/tr[3]/td/table/tbody/tr/td[2]/div/form/div[3]/input")
element.click()
#點擊Leg ID
element=wd.find_element_by_xpath("/html/body/table/tbody/tr[3]/td/table/tbody/tr/td[2]/div/form/table/tbody/tr[2]/td[1]/a")
element.click()
#輸入average duration
wd.find_element_by_css_selector("[name='averageduration']").clear()
wd.find_element_by_css_selector("[name='averageduration']").send_keys(str(data.iloc[i,1]))
#點擊保存
element=wd.find_element_by_xpath("/html/body/table/tbody/tr[3]/td/table/tbody/tr/td[2]/div/div[2]/form/div[3]/table/tbody/tr/td[1]/input")
element.click()
sleep(2)
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
現階段遇到的報錯:
uj5u.com熱心網友回復:
應該可以用 try except 把可能有例外的地方包起來。 有資料就處理, 沒資料就 continueuj5u.com熱心網友回復:
加了try, except , pass , continue,還是各種錯:我再描述一下問題,我是在步驟#點擊find之后,因為是輸入了不存在的POD,所以#點擊leg ID的時候出錯,此時需要跳過報錯,回到一開始的#選擇list of legs,重新繼續回圈

uj5u.com熱心網友回復:
還是不行:
uj5u.com熱心網友回復:


大佬,我這個錯誤該怎么改啊
uj5u.com熱心網友回復:
把 excpet 部分 放到 sleep(2) 后轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/275958.html
上一篇:大佬大佬
下一篇:求幫助。。實在搞不懂該怎么轉換
