Python Selenium TypeError:“ NoneType”对象不可下标

时间:2019-12-12 15:35:58

标签: python selenium

在错误中停留了很长时间,所以我希望有人能够提供帮助!

我有一段代码如下:

urls = driver.find_elements_by_xpath('//*[@href]')

for url in urls:

   hopeful = url.get_attribute('ping')

   print(hopeful)

   actual = hopeful[31:]

   driver.get(actual)   

time.sleep(4)

driver.close 

运行代码时,出现以下错误:

TypeError: 'NoneType' object is not subscriptable

在输出中,我事先获得了一些不需要的方面的URL,这就是为什么我尝试使用substring函数删除前31个字符的原因,这将使我留下URL,使我可以将其传递到{{1 }}。

有没有办法从返回并尝试对字符串driver.get()进行子处理中删除程序,从而导致错误?

1 个答案:

答案 0 :(得分:0)

这可能很幼稚,但为什么不检查None? 您没有提供触发错误的确切行,所以我想它是hopefull[31]

urls = driver.find_elements_by_xpath('//*[@href]')
for url in urls:
   hopeful = url.get_attribute('ping')
   if hopeful and len(hopeful) > 31:
       print(hopeful)
       actual = hopeful[31:]
       if actual.startswith('uk.linkedin.com'):
           driver.get(actual)   
time.sleep(4)
driver.close