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 import json import time driver = webdriver.Edge() def login_scan(): #驱动器下载链接https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ #放到D:/pon/Scripe driver.get('https://www.huya.com') # 程序打开网页后12秒内 “扫码登陆账户” time.sleep(15) login_scan() # 扫码登录 with open('cookies1.txt','w') as f: # 将cookies保存为json格式 f.write(json.dumps(driver.get_cookies())) driver.close() driver = webdriver.Edge() def login(): option = webdriver.EdgeOptions() option.add_experimental_option("detach", True) driver.get('https://www.huya.com') time.sleep(7) # driver.delete_all_cookies() option = webdriver.EdgeOptions() option.add_experimental_option("detach", True) with open('cookies1.txt', 'r') as f: cookies_list = json.load(f) for cookie in cookies_list: driver.add_cookie(cookie) driver.refresh() time.sleep(8) login() #登录虎牙 def into_income(): # 定位鼠标悬停元素 el = driver.find_element(By.XPATH,'//*[@id="J_duyaHeaderRight"]/div/div[2]/a/img') ActionChains(driver).move_to_element(el).perform() # 鼠标悬停 time.sleep(2) driver.find_element(By.XPATH,'//*[@id="J_duyaHeaderRight"]/div/div[2]/div/div/div/div/div[3]/ul/li[1]/a/p').click() time.sleep(3) #已进入个人中心 n = driver.window_handles # 这个时候会生成一个新窗口或新标签页的句柄,代表这个窗口的模拟driver print('当前句柄: ', n) # 会打印所有的句柄 driver.switch_to.window(n[-1]) print(driver.title) #直播个人中心 driver.maximize_window() #窗口最大化 driver.execute_script("window.scrollBy(0,800)") ele = driver.find_element(By.XPATH,'//*[@id="profileRoom"]/div/i') ActionChains(driver).move_to_element(ele).perform() # 鼠标悬停 time.sleep(1) driver.find_element(By.XPATH,'//*[@id="profileRoom"]/div/i').click() #点击主播收入 driver.find_element(By.XPATH,'//*[@id="profile-menu"]/li[6]/a').click() into_income() #进入主播收入 time.sleep(2)#点击交友模式 driver.find_element(By.XPATH,'//*[@id="tab-click"]/div[1]/ul/li[7]/a').click() time.sleep(3) #选择开始日期 driver.find_element(By.XPATH,'//*[@id="datetime"]').click() js1 = """ var date = document.getElementById("datetime"); date.value = arguments[0]; """ driver.execute_script(js1,'2022-09-12') time.sleep(2) #选择结束日期 driver.find_element(By.XPATH,'//*[@id="endTime"]').click() #成功,点击日期!!! js2 = """ var date = document.getElementById("endTime"); date.value = arguments[0]; """ driver.execute_script(js2,'2022-09-18') time.sleep(2) #输入虎牙号 clear_empty=driver.find_element(By.XPATH,'//*[@id="guestYY"]') clear_empty.clear() time.sleep(1) huya_name=driver.find_element(By.XPATH,'//*[@id="guestYY"]') huya_name.send_keys('huya_num') time.sleep(1) def find_sum(): driver.find_element(By.XPATH,'//*[@id="look"]').click() time.sleep(3) #向下滚动 driver.execute_script("window.scrollBy(0,500)") time.sleep(3) #定位总价金额 find_sum() z1=driver.find_element(By.XPATH,"//*[contains(text(),'总价')]") z1=z1.text lst=['name1','name2'] print(lst[0],z1) time.sleep(3) clear_empty.clear() time.sleep(1) huya_name.send_keys('huya_num') time.sleep(3) find_sum() z2=driver.find_element(By.XPATH,"//*[contains(text(),'总价')]") z2=z2.text print(lst[1],z2)
本文含有隐藏内容,请 开通VIP 后查看