from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
import time
with open('C:/Users/****/Desktop/input.txt','r') as file:
content=[line.strip() for line in file.readlines()]
driver=webdriver.Chrome()
driver.set_window_size(1920, 1080)
#登录页面
driver.get("*********")
#输入账号
ele=driver.find_element_by_id("id_corpid")
ele.send_keys("***")
#输入密码
ele=driver.find_element_by_id("id_corppw")
ele.send_keys("***")
#点击登录
ele=driver.find_elements_by_xpath("//button[@class='btn btn-primary']")[1]
ele.click()
time.sleep(1)
def func(id):
#在搜索框中输入
ele=driver.find_element_by_xpath('//form[@class="smart-form mod-form ng-pristine ng-valid"]//input|//form[@class="smart-form mod-form ng-valid ng-dirty"]//input')
ele.clear()
#输入id
ele.send_keys(id)
#点击搜索
ele=driver.find_element_by_xpath("//form[@class='smart-form mod-form ng-valid ng-dirty']/button[@type='submit']")
ele.click()
time.sleep(1)
print(driver.find_element_by_xpath("//td[@class='mod-operate']/preceding-sibling::td[1]").text)
if driver.find_element_by_xpath("//td[@class='mod-operate']/preceding-sibling::td[1]").text!='删除':
#点击产品订阅
#模拟鼠标的点击,该元素直接搜索可能搜不到
ActionChains(driver).move_to_element(driver.find_element_by_xpath("//td[@class='mod-operate']/button[2]")).click().perform()
zz=ele.find_element_by_xpath('//div[@class="modal in"]//nbot-select[@label="状态"]//select[@class="form-control ng-pristine ng-valid"]|//div[@class="modal in"]//nbot-select[@label="状态"]//select[@class="form-control ng-valid ng-dirty"]')
ActionChains(driver).move_to_element(zz).click().perform()
s1=Select(driver.find_element_by_xpath('//div[@class="modal in"]//nbot-select[@label="状态"]//select'))
s1.select_by_value('0')
ele=driver.find_elements_by_xpath('//footer/button[@type="submit"]')[2]
ele.click()
else:
with open("C:/Users/****/Desktop/output.txt",'a') as file:
file.write('\n'+id)
for id in content:
func(id)
following-sibling::div[1] 表示距离当前节点的最近的div弟弟(哥哥指的是,该节点的上方的兄弟节点)
preceding-sibling::div[1]表示距离当前节点的最近的div哥哥(弟弟指的是,该节点的下放的兄弟节点)