程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了获取 NameError:名称“团队”未使用 Selenium Python 定义大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决获取 NameError:名称“团队”未使用 SELEnium Python 定义?

开发过程中遇到获取 NameError:名称“团队”未使用 SELEnium Python 定义的问题如何解决?下面主要结合日常开发的经验,给出你关于获取 NameError:名称“团队”未使用 SELEnium Python 定义的解决方法建议,希望对你解决获取 NameError:名称“团队”未使用 SELEnium Python 定义有所启发或帮助;

我尝试抓取一个 gemble 站点,当我删除打印代码时,我没有得到输出(进程以退出代码 0 结束)我不知道可能是什么问题

这是代码-> 从硒导入网络驱动程序 从 SELEnium.webdriver.Chrome.options 导入选项

options = Options()
options.headless = false
web = 'https://fezbet1.com/en/sport?sportIDs=1'
path = r'C:\Users\Senne\Desktop\Chromedriver\chromedriver.exe'

options.add_argument('window-size=1920x1080')
driver = webdriver.Chrome(path,options=options)
driver.get(web)
driver.maximize_window()

driver.implicitly_wait(10)

frame_ref = driver.find_elements_by_tag_name("iframe")[1]
iframe = driver.switch_to.frame(frame_ref)

Box = driver.find_elements_by_class_name('asb-flex-col.asb-cut.asb-pos-wIDe._asb_events-table-row ')

for data in Box :
    teams = data.find_elemenT_By_xpath('.//*[@ID="sb"]/div[2]/div[2]/div[2]/div[3]/div/div[1]/div/div[2]/div[1]/div/div/div[2]/div[1]/div/div[2]/div/div/div[2]/div[1]').text
    odds = data.find_elemenT_By_xpath('.//*[@ID="sb"]/div[2]/div[2]/div[2]/div[3]/div/div[1]/div/div[2]/div[1]/div/div/div[2]/div[2]/div[1]/div[1]/div/div[2]/div').text

print(teams,odds)

错误说=

TraceBACk (most recent call last):
  file "C:\Users\Senne\PycharmProjects\webscrAPIn\main.py",line 25,in <module>
print(teams,odds)
nameError: name 'teams' is not defined

Process finished with exit code 1
------------------

解决方法

您正在尝试定位对象框(使用 class_name),但该对象不存在于 DOM 上。尝试在 sleep(5) 之前使用 box = driver.find_elements_by_class_name('asb-flex-col.asb-cut.asb-pos-wide._asb_events-table-row ') 添加隐式等待。 您收到此错误是因为该框为空。

,

做了一些更改,这是更新后的代码:

from SELEnium import webdriver
from SELEnium.webdriver.chrome.options import Options
import pandas as pd

options = Options()
options.headless = false
web = 'https://fezbet1.com/en/sport?sportids=1'
path = r'C:\Users\Senne\Desktop\Chromedriver\chromedriver.exe'

options.add_argument('window-size=1920x1080')
driver = webdriver.Chrome(path,options=options)
driver.get(web)
driver.maximize_window()

frame_ref = driver.find_elements_by_tag_name("iframe")[1]
iframe = driver.switch_to.frame(frame_ref)

driver.implicitly_wait(5)

box = driver.find_elements_by_class_name('asb-flex-col.asb-cut.asb-pos-wide._asb_events-table-row ')

Data_list = []

for data in box :
    teams = data.find_elemenT_By_xpath('.//*[@id="sb"]/div[2]/div[2]/div[2]/div[3]/div/div[1]/div/div[2]/div[1]/div/div/div[2]/div[1]/div/div[2]/div/div/div[2]/div[1]').text
    odds = data.find_elemenT_By_xpath('.//*[@id="sb"]/div[2]/div[2]/div[2]/div[3]/div/div[1]/div/div[2]/div[1]/div/div/div[2]/div[2]/div[1]/div[1]/div/div[2]/div').text
    data_items = {
        'teams' : teams,'odds' : odds,}

    Data_list.append(data_items)

df = pd.DataFrame(Data_list)
print(df)

我现在得到的输出只是=

Empty DataFrame
columns: []
Index: []

Process finished with exit @R_223_6756@

大佬总结

以上是大佬教程为你收集整理的获取 NameError:名称“团队”未使用 Selenium Python 定义全部内容,希望文章能够帮你解决获取 NameError:名称“团队”未使用 Selenium Python 定义所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。