学习python+selenium总是遇到各种问题

代码如下:

from selenium import webdriver
browser = webdriver.PhantomJS() #浏览器初始化;Win下需要设置phantomjs路径,linux下置空即可
url = 'http://www.zhidaow.com' # 设置访问路径
browser.get(url) # 打开网页
title = browser.find_elements_by_xpath('//h2') # 用xpath获取元素

for t in title: # 遍历输出
print(t.text) # 输出其中文本
print(t.get_attribute('class')) # 输出属性值

browser.quit()
运行后报错:

  File "C:\Users\video\AppData\Roaming\Python\Python34\site-packages\selenium\webdriver\common\service.py", line 151, in __del__
  File "C:\Users\video\AppData\Roaming\Python\Python34\site-packages\selenium\webdriver\common\service.py", line 127, in stop
  File "C:\Users\video\AppData\Roaming\Python\Python34\site-packages\selenium\webdriver\phantomjs\service.py", line 68, in send_remote_shutdown_command
PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'C:\\Users\\video\\AppData\\Local\\Temp\\tmpfipzk8ma'

 

解决办法:(我是用pycharm)

编辑C:\Users\video\AppData\Roaming\Python\Python34\site-packages\selenium\webdriver\phantomjs\service.py的文件

找到:

def send_remote_shutdown_command(self):
if self._cookie_temp_file:
os.remove(self._cookie_temp_file)
修改如下:
def send_remote_shutdown_command(self):

try:
    if self._cookie_temp_file:
      os.remove(self._cookie_temp_file)
except:
    pass

posted on 2016-04-16 16:03  huangweiping  阅读(18307)  评论(0编辑  收藏  举报