from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import StaleElementReferenceException import time
In [ ]:
def login(driver): driver.get("https://one.console.res.cloud.gwm.cn/ascm/login?oauth_callback=https%253A%252F%252Fcloudsso.res.cloud.gwm.cn%252Faliyun%252FaliyunCallback%253Fredirect%253Dhttp%25253A%25252F%25252Fide.res.cloud.gwm.cn%25252F%25253Fspm%25253Da1z3jh.13523495.0.0.3fe46242SEPN4U") driver.find_element(By.ID,'account').send_keys("") driver.find_element(By.XPATH,'//*[@id="password"]').send_keys("") driver.find_element(By.XPATH,'//*[@id="form"]/div/form/div[3]/div/button').click()
In [ ]:
def rclick(driver,element): ActionChains(driver).context_click(element).perform() def getLock(driver,i,search): rclick(driver, i) time.sleep(3) tc = driver.find_element(By.XPATH, '/html/body/div[5]/ul/li[4]/div') if(hasattr(tc,'click')): tc.click() time.sleep(1) search.click() def delNode(driver, i): rclick(driver, i) time.sleep(2) sc = driver.find_element(By.XPATH, '/html/body/div[5]/ul/li[8]') if(hasattr(sc,'click')): sc.click() time.sleep(1) driver.find_element(By.XPATH, '/html/body/div[5]/div[2]/div[2]/button[1]').click() time.sleep(1) attempts = 0 while attempts < 2: try: sureToDel = driver.find_element(By.XPATH, '/html/body/div[5]/div[2]/div[2]/button[1]') time.sleep(2) if(hasattr(sureToDel,'click')): sureToDel.click() break except: attempts += 1 time.sleep(1)
In [ ]:
def find(driver, key): search = driver.find_element( By.XPATH, '//*[@id="app"]/div/div/div/div/div[1]/div[1]/div[1]/div/div[2]/div[2]/div/div/div/div[1]/div/div[2]/span/input') search.send_keys(Keys.CONTROL, 'a') time.sleep(1) search.send_keys(key) time.sleep(3) targetArea = driver.find_element( By.XPATH, '//*[@id="32526-workflow-hiddenRegion"]/div/div/div[1]/div/div') target = targetArea.find_elements(By.XPATH, './/span') for i in target: if (i.text == key): getLock(driver,i,search) search.send_keys(Keys.CONTROL, 'a') time.sleep(1) search.send_keys(key) time.sleep(3) delNode(driver,i) print(key) break
In [ ]:
driver = webdriver.Edge(r'E:\edgeDirver\msedgedriver.exe') login(driver) reader = open(r'C:\Users\GW00310323\Desktop\要删除的节点.txt', 'r', encoding='utf-8') readerList = reader.readlines() reader.close() time.sleep(15) for i in readerList: find(driver, key=i.replace('\n',''))