在使用如下代码创建PhantomJS WebDriver时,总是会报“WebDriverException: Message: 'phantomjs.exe' executable needs to be in PATH.”的错误。
from selenium import webdriver
driver = webdriver.PhantomJS(executable_path='E:\phantomjs-2.1.1-windows\bin\phantomjs.exe')
此时,除了在“此电脑>属性>高级系统设置>高级>环境变量>系统变量>Path”里添加phantomjs.exe的解压路径E:\phantomjs-2.1.1-windows\bin\以外,还需要在上述代码的windows环境下的路径前加r来实现。具体如下:
from selenium import webdriver
driver = webdriver.PhantomJS(executable_path=r'E:\phantomjs-2.1.1-windows\bin\phantomjs.exe')
为什么要加r呢?
因为反斜杠在Python中被定义为转义标记(这个在正则表达式里常用,如\\ \.\|就是对应实际的\.|),为在Windows中确保万无一失,应以原始字符串的方式指定路径,即在开头的单引号前加上r.