2016-09-18 120 views
2

儘管這可能會導致對Python導入行爲的不完全理解,但我希望有人能夠解釋爲什麼在Selenium的上下文中發生以下情況。Selenium webdriver導入問題

如果我嘗試from selenium import *,那麼我得到NameError: name 'webdriver' is not defined

如果我使用from selenium import webdriver,那麼一切正常。

這是爲什麼?

+0

@ozgur版本2.53.6 –

回答

3

如果你看看硒項目的頂層__init__.py文件,你會看到:

from selenium import selenium 

所以進口硒實際進口selenium.py文件,沒有任何類,變量等。其中名爲webdriver

這裏是硒2.53.6的模塊層次:

selenium 
-- __init__.py 
-- selenium.py 
-- webdriver 
    -- ... 

要真正導入webdriver模塊,你應該做的:

from selenium import webdriver 
+0

那麼,有什麼辦法從Selenium導入所有內容?我的列表正在增加,包括webdriver,Alerts,Keys和現在的例外。它變得有點乏味。 –

+0

對不起,我對硒不熟悉。你在哪裏導入警報,密鑰和異常? – ozgur

+0

「from selenium import webdriver」,「from selenium.webdriver.common.alert import Alert」,「from selenium.webdriver.common.keys import Keys」,「from selenium.common.exceptions import *」 –