12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import os
- from selenium import webdriver
- from selenium.common import WebDriverException
- from selenium.webdriver.chrome.service import Service
- from tools.check import extract_domain_or_ip
- class ChromeHandle:
- def __init__(self):
- self.driver = None
- def init_browser(self):
- driver_path = '../chrome-win/chromedriver.exe'
- service = Service(executable_path=driver_path)
- options = webdriver.ChromeOptions()
- options.add_experimental_option("excludeSwitches", ["enable-automation"])
- options.add_experimental_option("useAutomationExtension", False)
- self.driver = webdriver.Chrome(service=service, options=options)
- def login(self, url):
- if not self.check_driver_alive():
- self.init_browser()
- self.driver.execute_script(f"window.open({url}, '_blank');")
- def u121_40_47_16_8088(self, params):
- self.login('http://121.40.47.16:8088/union/')
- handles = self.driver.window_handles
- self.driver.switch_to.window(handles[-1])
- self.driver.find_element()
- def run(self, params):
- func_name = extract_domain_or_ip(params['url'])
- func = getattr(self, func_name)
- if not func:
- TypeError('未实现对应方法')
- func(params)
- def check_driver_alive(self) -> bool:
- try:
- if not self.driver:
- return False
- _ = self.driver.window_handles
- return True
- except WebDriverException:
- return False
- browser_handle = ChromeHandle()
- if __name__ == '__main__':
- obj = ChromeHandle()
- # obj.init_browser()
- obj.u121_40_47_16_8088({'user_name':'杜奎松', 'password':'123456'})
- print(1)
|