Flask集成Selenium ChromeDriver报错:无法解包非可迭代WebDriver对象
问题:TypeError: cannot unpack non-iterable WebDriver object
我正在开发一个Flask Web应用,使用Selenium ChromeDriver打开谷歌地图并根据用户输入搜索地点。在用户输入地点名称后,出现错误“TypeError: cannot unpack non-iterable WebDriver object”,报错提示问题出在bow.open_chrome()函数,但该函数仅用于打开Chrome WebDriver窗口。
路由代码(app.py)
@app.route('/testing', methods=['POST','GET']) def testing(): if request.method == "POST": nama_rm = request.form['nama_resto'] print(nama_rm) aspek = ['makanan', 'minuman', 'pelayanan', 'tempat', 'harga'] model_final = {} vectorizer_final = {} open_chrome, driver = bow.open_chrome() search_resto = bow.search_resto(nama_rm, driver) redirect_page = bow.redirect_reviewstab(driver) scroll_page = bow.scroll_reviewstab(driver) iterate_allreviews, = bow.iteration_allreviews(driver) preprocess_input = bow.proses_df_input(df, vectorizer_final, model_final, aspek) return jsonify({'df':df})
模型代码(bow模块)
def open_chrome(): #London Victoria & Albert Museum URL driver = webdriver.Chrome(ChromeDriverManager().install()) url = 'https://www.google.co.id/maps/@3.5508653,98.6270636,15z' driver.get(url) time.sleep(3) return driver def search_resto(nama_resto, driver): # find the search bar element search_bar = driver.find_element(By.XPATH, '//*[@id="searchboxinput"]') # input the place name or address search_bar.send_keys(nama_resto) search_bar.send_keys(Keys.RETURN) time.sleep(5)
错误信息
File "e:\Folder Kuliah\Skripsi\Apps\webflask\Aplikasi\app.py", line 41, in testing open_chrome, driver = bow.open_chrome() TypeError: cannot unpack non-iterable WebDriver object
问题根源与解决方法
问题根源:
bow.open_chrome()仅返回一个WebDriver对象(driver),但你在调用时试图将其解包为两个变量open_chrome, driver,Python无法对单个对象执行多变量解包,因此触发TypeError。解决方法:
- 修改路由中的赋值语句,只接收返回的
driver实例:
不需要driver = bow.open_chrome()open_chrome变量,函数本身已经完成了打开浏览器的操作,返回值只有驱动对象。 - 修正
iterate_allreviews, = bow.iteration_allreviews(driver)这一行:末尾的多余逗号会让Python尝试解包成单个元素的可迭代对象,如果该函数只返回一个值,应改为:
否则后续会触发同类解包错误。iterate_allreviews = bow.iteration_allreviews(driver)
- 修改路由中的赋值语句,只接收返回的
内容的提问来源于stack exchange,提问作者AlvinoViando
相关产品推荐
相关产品推荐

