0


selenium扫码登录操作edge

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)

本文转载自: https://blog.csdn.net/weixin_71599505/article/details/126987085
版权归原作者 光盐400 所有, 如有侵权,请联系我们删除。

“selenium扫码登录操作edge”的评论:

还没有评论