【发布时间】:2016-12-18 09:12:05
【问题描述】:
我在pycharm中写了一个python程序,包括FBCrawl.py,html_login.py,common/glovar.py,在glovar.py中,我定义了一个变量webdriver_browser,想在FBCrawl.py和html_login.py中使用这个webdriver_browser ,主要目的是登录facebook获取页面内容,使用selenium,程序如下,但运行时, 错误:
C:\Python\Python36\python.exe C:/Python/PyCharmProject/FaceBookCrawl/FBCrawl.py
None
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.chrome.service.Service object at 0x00000146BF1FD438>>
Traceback (most recent call last):
File "C:\Python\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 173, in __del__
File "C:\Python\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 149, in stop
File "C:\Python\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 120, in send_remote_shutdown_command
ImportError: sys.meta_path is None, Python is likely shutting down
Process finished with exit code 0
程序在这里:
FBCrwal.py:
from common import glovar
from html_login import HtmlLogin
from selenium import webdriver
if __name__ == '__main__':
baseurl = "http://www.google.com"
#log in the website
login_url = "https://www.facebook.com/login.php?login_attempt=1&lwv=110"
HtmlLogin().login(login_url)
html_cont = glovar.webdriver_browser.get("https://www.facebook.com/alexis.n.griffith.3")
print(html_cont)
html_login.py:
from selenium import webdriver
from common import glovar
class HtmlLogin(object):
def login(self,url):
if url is None:
return
login_url = url
glovar.webdriver_browser = webdriver.Chrome()
glovar.webdriver_browser.get(login_url)
#user credentials
user = glovar.webdriver_browser.find_element_by_css_selector("#email")
user.send_keys('********@gmail.com')
password = glovar.webdriver_browser.find_element_by_css_selector("#pass")
password.send_keys('********')
login = glovar.webdriver_browser.find_element_by_css_selector("#loginbutton")
login.click()
glovar.py:
webdriver_browser = None
请告诉我原因和解决方法
【问题讨论】:
-
为什么执行“print(html_cont)”,输出为“None”