我不是Python中的專家,我不理解對我來說似乎很基本的東西。這裏是:在Python中循環並在try/except方法中檢查邏輯
我使用硒來獲取一個網頁,尋找一個特定位置的鏈接(實際上是「下一頁」的鏈接),如果鏈接存在,點擊它並開始全部。我的這段代碼是這樣的:
check = True
while check:
#do something
#check if there is a link to a "next page":
try:
nextPageLink=driver.find_element_by_xpath("//div[@class='pgLinks']/a[3]")
nextPageLink.click()
time.sleep(timeToCharge)
except:
check = False
該代碼只運行一次。它找到了到下一頁的鏈接,它會點擊它,但不會再次運行循環,就好像它通過except之外的代碼並將變量檢查置於False。
任何想法,爲什麼這是如此,我應該怎麼做呢?
感謝
您是否曾嘗試向'except'塊添加'print'語句以查看它是否被觸發? @ sshashank124會使代碼只運行一次,OP希望它保持循環。 – IanAuld
難道問題是在你使用它之前沒有定義'link'(事實上應該是'driver.get(nextPageLink)'')?一般來說,最好不要使用「except:'語句,因爲這樣你就可以捕獲所有的異常,但通常你想捕獲一個特定的異常。 – darthbith
要*點擊*鏈接,請調用'nextPageLink.click()'。 – unutbu