提取错误“没有这样的元素:无法找到元素:”

时间:2020-05-21 05:23:30

标签: python selenium

我正在研究一个从内部站点提取组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)

请帮助我摆脱这个错误,以便成功提取

2 个答案:

答案 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') 
相关问题