我正在研究一个从内部站点提取组ID的项目。
代码读取位于我桌面上的groupid.csv文件中的url,提取groupid并将其写入excel工作表groupid.xlsx
下面的代码可以成功运行,直到有有效的URL,但是如果有无效的URL(groupid.csv)并停止工作,则会给我一个错误。
from selenium import webdriver
import pandas as pd
import time
import os
c=1
user = os.getlogin()
path = "C:/Users/"+user+"/Desktop/groupid.csv"
path1 = "C:/Users/"+user+"/Desktop/groupid.xlsx"
print(path)
reader = pd.read_csv(path)
driver =webdriver.Chrome('C:/chromedriver.exe')
driver.maximize_window()
reader['groupid'] = ''
for line in reader['URL']:
print(line)
driver.get(line)
if c==1:
time.sleep(20)
time.sleep(5)
groupid = driver.find_element_by_xpath('//*[@xpath"]').text
print(groupid)
reader['groupid'][reader['URL']==line] = groupid
c=c+1
reader.to_excel(path1)
错误代码:
NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="xpath_ID"]"}
(Session info: chrome=81.0.4044.138)
请帮助我摆脱这个错误,以便成功提取
答案 0 :(得分:0)
如果您知道有一些断开的链接,请尝试添加try catch块来处理它。一种简单的方法可能是这样的。
try:
groupid = driver.find_element_by_xpath('//*[@xpath"]').text
except:
//CONTINUE WITH NEXT ONE
答案 1 :(得分:0)
try:
reader = pd.read_csv(path)
your remaining code
except:
print("An exception occurred")
或者您可以使用下面的代码来检查URL是否有效
import requests
request = requests.get(URL)
if request.status_code == 200:
print('Web site exists')
else:
print('Web site does not exist')