首页 > 解决方案 > 尝试调用网站返回“无类型”,知道为什么吗?

问题描述

当我运行以下代码时,当我使用 find 元素时,变量 test 显示为“NoneType”,它给出了错误。我不明白为什么它不能正确调用网站。它在我的另一个脚本中工作我在这里复制了 test2 变量,它也不起作用。

import weslib as wl
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service

#define web drivers
opt = webdriver.ChromeOptions()
opt.add_argument('headless')
opt.add_argument('--ignore-certificate-errors')
opt.set_capability("acceptInsecureCerts", True)
serv = Service("d:\webdrivers\chromedriver")
driver = webdriver.Chrome(service=serv,options=opt)

tickerlist = ['AAPL']

for stock in tickerlist:
     try:
         stockurl = 'http://www.finviz.com/quote.ashx?t=' + str(stock)
         test = driver.get(stockurl)
         test2 = driver.get('https://www.zacks.com/stock/quote/' + stock[0] + '/detailed-estimates')
                     
         fvstats = wl.scrapetable(stockurl, '/html/body/div[8]/div/table[2]', driver)
         fvanalyses = wl.scrapetable(stockurl, '/html/body/div[8]/div/table[3]/tbody/tr[4]/td/table/tbody', driver)
         fvinsidertrading = wl.scrapetable(stockurl, '/html/body/div[8]/div/table[3]/tbody/tr[12]/td/table/tbody', driver)
         
         wl.insert_values(conn, fvstats, 'stats', stock[0], 'finviz1')
         wl.insert_values(conn, fvanalyses, 'analyses', stock[0], 'finviz2')
         wl.insert_values(conn, fvinsidertrading, 'insidertrading', stock[0], 'finviz3')
         
     except (Exception) as error:
        print('finviz', stock[0],'', str(error))
        wl.joblog('finviz', stock[0],'', str(error))
        continue

标签: pythonseleniumgoogle-chrome

解决方案


推荐阅读