This commit is contained in:
Kane Wang 2019-12-10 19:06:05 +08:00
parent 3254d7473a
commit c142afe342
2 changed files with 98 additions and 118 deletions

View File

@ -40,51 +40,59 @@ def WaitForLogin( wbDriver, tagID ):
except NoSuchElementException: except NoSuchElementException:
return return
#打开driver登录网页 def GetSessionID(webDriver):
try: try:
cookies = dict( webDriver.get_cookies()[0] )
return cookies['name'] + '=' + cookies['value']
except:
return None
def ScrapRepairOrderData():
#打开driver登录网页
try:
wb_ie = webdriver.Ie(executable_path='D:/develop/sdk/python/Selenium/ie_driver/IEDriverServer.exe') wb_ie = webdriver.Ie(executable_path='D:/develop/sdk/python/Selenium/ie_driver/IEDriverServer.exe')
wb_ie.get('http://10.190.48.74:8601/login.jsp') wb_ie.get('http://10.190.48.74:8601/login.jsp')
except: except:
print('打开driver和网页时出错') print('打开driver和网页时出错')
exit(-1) exit(-1)
action = ActionChains(wb_ie) action = ActionChains(wb_ie)
bs = BeautifulSoup( wb_ie.page_source, 'html.parser') bs = BeautifulSoup( wb_ie.page_source, 'html.parser')
names = bs.find_all("img", {'id':'captcha'}) names = bs.find_all("img", {'id':'captcha'})
#填写登录信息 #填写登录信息
try: try:
captcha = wb_ie.find_element_by_id('captcha') captcha = wb_ie.find_element_by_id('captcha')
branchCode = wb_ie.find_element_by_id('branchCode') branchCode = wb_ie.find_element_by_id('branchCode')
userCode = wb_ie.find_element_by_id('userCode') userCode = wb_ie.find_element_by_id('userCode')
password = wb_ie.find_element_by_id('password') password = wb_ie.find_element_by_id('password')
#登录的循环,没错误时才继续。
while True:
try:
branchCode.clear()
userCode.clear()
password.clear()
branchCode.send_keys('3080100') branchCode.send_keys('3080100')
userCode.send_keys('588') userCode.send_keys('588')
password.send_keys('Kane@1982') password.send_keys('Kane@1982')
except NoSuchElementException:
WaitForLogin( wb_ie, 'captcha')
except Exception as e:
print(e)
else:
break
except NoSuchElementException:
print('获取登录页面元素失败!') print('获取登录页面元素失败!')
wb_ie.close() wb_ie.close()
exit(-1) exit(-1)
try:
WaitForLogin( wb_ie, 'captcha')
except NoSuchElementException:
print('浏览器异常关闭!')
exit()
#输出cookie #输出cookie
try: sessionID = GetSessionID( wb_ie )
cookies = wb_ie.get_cookies()
cookie_dict = dict(cookies[0]) try:
print( cookie_dict['name'] + '=' + cookie_dict['value'] )
except:
wb_ie.close()
exit()
try:
#点击统计查询 #点击统计查询
element = wb_ie.find_element_by_xpath("//*[text()='统计查询']") element = wb_ie.find_element_by_xpath("//*[text()='统计查询']")
@ -131,23 +139,23 @@ try:
#查询后等待一段时间 #查询后等待一段时间
#time.sleep(2) #time.sleep(2)
except NoSuchElementException:
except NoSuchElementException:
print('查找不到元素') print('查找不到元素')
exit(-1) exit(-1)
except: except:
print('页面读取错误') print('页面读取错误')
exit(-1) exit(-1)
finally: finally:
#wb_ie.close() #wb_ie.close()
None None
while True:
while True:
time.sleep(1) time.sleep(1)
print('已登录!!!') print('已登录!!!')
#测试代码
if __name__ == '__main__':
ScrapRepairOrderData()

View File

@ -3,8 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 16
VisualStudioVersion = 16.0.29519.181 VisualStudioVersion = 16.0.29519.181
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "车商可视化数据管理系统", "车商可视化数据管理系统\车商可视化数据管理系统.vcxproj", "{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}"
EndProject
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "车商渠道数据采集", "..\python\车商渠道数据采集\车商渠道数据采集.pyproj", "{81F2541E-C96A-4C05-B3F5-643B25E708D5}" Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "车商渠道数据采集", "..\python\车商渠道数据采集\车商渠道数据采集.pyproj", "{81F2541E-C96A-4C05-B3F5-643B25E708D5}"
EndProject EndProject
Global Global
@ -21,32 +19,6 @@ Global
Release|x86 = Release|x86 Release|x86 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|Any CPU.ActiveCfg = Debug|x86
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|ARM.ActiveCfg = Debug|ARM
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|ARM.Build.0 = Debug|ARM
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|ARM.Deploy.0 = Debug|ARM
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|ARM64.ActiveCfg = Debug|ARM64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|ARM64.Build.0 = Debug|ARM64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|ARM64.Deploy.0 = Debug|ARM64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|x64.ActiveCfg = Debug|x64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|x64.Build.0 = Debug|x64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|x64.Deploy.0 = Debug|x64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|x86.ActiveCfg = Debug|x86
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|x86.Build.0 = Debug|x86
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Debug|x86.Deploy.0 = Debug|x86
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|Any CPU.ActiveCfg = Release|x86
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|ARM.ActiveCfg = Release|ARM
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|ARM.Build.0 = Release|ARM
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|ARM.Deploy.0 = Release|ARM
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|ARM64.ActiveCfg = Release|ARM64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|ARM64.Build.0 = Release|ARM64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|ARM64.Deploy.0 = Release|ARM64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|x64.ActiveCfg = Release|x64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|x64.Build.0 = Release|x64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|x64.Deploy.0 = Release|x64
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|x86.ActiveCfg = Release|x86
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|x86.Build.0 = Release|x86
{DFAB7824-DB3C-4114-AFE8-6DBD2892C07E}.Release|x86.Deploy.0 = Release|x86
{81F2541E-C96A-4C05-B3F5-643B25E708D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {81F2541E-C96A-4C05-B3F5-643B25E708D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81F2541E-C96A-4C05-B3F5-643B25E708D5}.Debug|ARM.ActiveCfg = Debug|Any CPU {81F2541E-C96A-4C05-B3F5-643B25E708D5}.Debug|ARM.ActiveCfg = Debug|Any CPU
{81F2541E-C96A-4C05-B3F5-643B25E708D5}.Debug|ARM64.ActiveCfg = Debug|Any CPU {81F2541E-C96A-4C05-B3F5-643B25E708D5}.Debug|ARM64.ActiveCfg = Debug|Any CPU