Python 如何使用硒处理操作错误?

Python 如何使用硒处理操作错误?,python,python-2.7,selenium,selenium-webdriver,Python,Python 2.7,Selenium,Selenium Webdriver,以下代码: from selenium.webdriver.firefox.firefox_binary import FirefoxBinary from selenium import webdriver FIREFOX_PATH = "\\".join(["C:", "FirefoxPortable", "FirefoxPortable.exe"]) binary = FirefoxBinary(FIREFOX_PATH) browser

以下代码:

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium import webdriver

FIREFOX_PATH = "\\".join(["C:", 
                      "FirefoxPortable", "FirefoxPortable.exe"])

binary = FirefoxBinary(FIREFOX_PATH)
browser = webdriver.Firefox(firefox_binary=binary)
正在生成以下错误:

Traceback (most recent call last):
  File "run_selenium.py", line 13, in <module>
    browser = webdriver.Firefox(firefox_binary=binary)
  File "/usr/lib/python2.7/site-packages/selenium-2.45.0-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
    self.binary, timeout),
  File "/usr/lib/python2.7/site-packages/selenium-2.45.0-py2.7.egg/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
    self.binary.launch_browser(self.profile)
  File "/usr/lib/python2.7/site-packages/selenium-2.45.0-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 65, in launch_browser
    self._start_from_profile_path(self.profile.path)
  File "/usr/lib/python2.7/site-packages/selenium-2.45.0-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 88, in _start_from_profile_path
    env=self._firefox_env).communicate()
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
回溯(最近一次呼叫最后一次):
文件“run_selenium.py”,第13行,在
browser=webdriver.Firefox(Firefox\u binary=binary)
文件“/usr/lib/python2.7/site packages/selenium-2.45.0-py2.7.egg/selenium/webdriver/firefox/webdriver.py”,第59行,在__
self.binary,超时),
文件“/usr/lib/python2.7/site packages/selenium-2.45.0-py2.7.egg/selenium/webdriver/firefox/extension_connection.py”,第47行,在u init中__
self.binary.launch_浏览器(self.profile)
文件“/usr/lib/python2.7/site packages/selenium-2.45.0-py2.7.egg/selenium/webdriver/firefox/firefox\u binary.py”,第65行,在launch\u浏览器中
self.\u从配置文件路径开始(self.profile.path)
文件“/usr/lib/python2.7/site packages/selenium-2.45.0-py2.7.egg/selenium/webdriver/firefox/firefox\u binary.py”,第88行,在\u start\u from\u profile\u路径中
env=self.\u firefox\u env.communicate()
文件“/usr/lib/python2.7/subprocess.py”,第679行,在__
错误读取,错误写入)
文件“/usr/lib/python2.7/subprocess.py”,第1249行,在执行子进程中
引发子对象异常
OSError:[Errno 2]没有这样的文件或目录
以前有人见过这种行为吗

(Python 2.7、Windows 7)

谢谢!
/YGA

首先,您应该使用
os.path.join
,而不是
str.join
。但是,更重要的是,您确定驱动器上确实有一个名为
C:\FirefoxPortable\FirefoxPortable.exe
的可执行文件吗?因为错误告诉你它找不到。你为什么要用join呢?@PadraicCunningham:说得好,事实上……谢谢!问题是str.join与os.path.join。如果你想提交作为答案,我会检查它是否正确,你可以得到学分。