【发布时间】:2021-07-14 13:54:25
【问题描述】:
我尝试抓取一个 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
------------------
【问题讨论】:
-
如果
box为空,则永远不会进入该循环,并且永远不会设置teams和odds。此外,您可能不想每次迭代都重新分配这些变量,因为那时您会丢失以前的结果,只会保留最后一个结果。您可能希望在该循环之前创建列表,然后将append创建到teams和odds列表。
标签: python selenium screen-scraping nameerror