Brak opisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Openweb.py 4.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. from selenium import webdriver
  2. from selenium.webdriver.support.ui import WebDriverWait
  3. from sqlalchemy import Column,String,create_engine
  4. from sqlalchemy.orm import sessionmaker
  5. from sqlalchemy.ext.declarative import declarative_base
  6. from webdriver_manager.chrome import ChromeDriverManager
  7. import pandas as pd
  8. import traceback
  9. import time
  10. import os
  11. def LongLogin():
  12. try:
  13. driver.get(urlkey)
  14. except:
  15. tttt7="websiteerror"
  16. return tttt7
  17. elementcount=len(driver.find_elements_by_css_selector("input.lineForIE6[data-bind='value: Account, event: { keyup: function (d, e) { OnKeyUpLogin(e); } }']"))
  18. print(elementcount)
  19. if (elementcount==1):
  20. driver.find_element_by_css_selector("input.lineForIE6[data-bind='value: Account, event: { keyup: function (d, e) { OnKeyUpLogin(e); } }']").send_keys(adminkey)
  21. driver.find_element_by_css_selector("input.lineForIE6[data-bind='value: Password, event: { keyup: function (d, e) { OnKeyUpLogin(e); } }']").send_keys(passkey)
  22. driver.find_element_by_css_selector("[data-bind='click: GoLogin']").click()
  23. try:
  24. WebDriverWait(driver, 10).until(lambda driver:driver.find_element_by_id("mainFrame"))
  25. iframe1=driver.find_element_by_id("mainFrame")
  26. tttt7="OK"
  27. return tttt7
  28. except:
  29. try:
  30. iframe1=driver.find_element_by_id("gcontent")
  31. tttt7="OK"
  32. return tttt7
  33. except:
  34. tttt7="ADPSERROR"
  35. return tttt7
  36. elif (elementcount==0):
  37. tttt7=ShortLogin()
  38. return tttt7
  39. def ShortLogin():
  40. driver.get(urlkey)
  41. try:
  42. WebDriverWait(driver, 10).until(lambda driver:driver.find_element_by_name("main"))
  43. except:
  44. tttt7="websiteerror"
  45. return tttt7
  46. firstframe1=driver.find_element_by_name("main")
  47. driver.switch_to.frame(firstframe1)
  48. driver.find_element_by_id("user").send_keys(adminkey)
  49. driver.find_element_by_id("pass").send_keys(passkey)
  50. LoginBtnCount1=len(driver.find_elements_by_name("loginbutton"))
  51. LoginBtnCount2=len(driver.find_elements_by_class_name("btn.btn-group.btn-default"))
  52. LoginBtnCount3=len(driver.find_elements_by_css_selector("button[onclick*='login();']"))
  53. if LoginBtnCount1==1:
  54. driver.find_element_by_name("loginbutton").click()
  55. elif LoginBtnCount2==1:
  56. driver.find_element_by_class_name("btn.btn-group.btn-default").click()
  57. elif LoginBtnCount3==1:
  58. driver.find_element_by_css_selector("button[onclick*='login();']").click()
  59. try:
  60. driver.switch_to.default_content()
  61. frame2=len(driver.find_elements_by_name("menu"))
  62. print(frame2)
  63. print(LoginBtnCount1,LoginBtnCount2,LoginBtnCount3)
  64. if frame2==1:
  65. tttt="OK"
  66. else:
  67. tttt="ADPSERROR"
  68. return tttt
  69. except:
  70. tttt="ADPSERROR"
  71. return tttt
  72. try:
  73. if os.path.exists("101.txt") or os.path.exists("365.txt"):
  74. FIle="lorv.csv"
  75. File2="101.txt"
  76. File3="365.txt"
  77. with open('lorv.csv', newline='') as csvfile:
  78. loopper2=pd.read_csv("lorv.csv",encoding='utf8',dtype='object')
  79. print(loopper2)
  80. loopper2=loopper2.values
  81. print(loopper2)
  82. os.remove(FIle)
  83. if os.path.exists("101.txt"):
  84. urlkey="http:\\"+loopper2[0][1]
  85. os.remove(File2)
  86. elif os.path.exists("365.txt"):
  87. urlkey="https:\\"+loopper2[0][1]
  88. os.remove(File3)
  89. else:
  90. urlkey="http:\\"+loopper2[0][1]
  91. adminkey=loopper2[0][2]
  92. passkey=loopper2[0][3]
  93. if loopper2[0][0]=="login":
  94. driver = webdriver.Chrome(ChromeDriverManager().install())
  95. tttt2=LongLogin()
  96. print(tttt2)
  97. else:
  98. print("No TxT files")
  99. #time.sleep(5)
  100. except:
  101. traceback.print_exc() # 捕捉異常,並將異常傳播資訊輸出控制檯
  102. traceback.print_exc(file=open('openweblog.txt', 'a'))
  103. print("NNNNNNNNN2N")
  104. #finally:
  105. #driver.quit()