
为什么这里计算中心坐标时后面还要-1啊,两个坐标相加除以二不就是中心点坐标了吗,这里-1是为啥啊
关注【相关推荐】
首先模拟人工签到的流程方式,寻找相应的HTML代码,从而实现整个签到流程。
from selenium import webdriver
from selenium.webdriver import ChromeOptions
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
# 添加参数,使得window.navigator.webdriver返回undefined,避免被浏览器检测
option = ChromeOptions()
option.add_experimental_option('excludeSwitches',['enable-automation'])
driver= webdriver.Chrome(options=option)
# 第一步:登录目标网址
driver.get('https://www.iqiyi.com/u/point') # 启动浏览器并登录签到页面
driver.maximize_window() # 最大化窗口
# 第二步:切换账号密码登录方式
driver.find_element_by_xpath("//a[text()='账号密码登录']").click() # 切换账号密码登录模式
time.sleep(2) # 停留足够的时间,让浏览器加载完全
# 第三步:输入账号和密码
driver.find_element_by_css_selector(".tip-container.tip-account-container .txt-info.txt-account").send_keys('***********') # 输入账号
driver.find_element_by_css_selector(".txt-info.txt-password").send_keys('******') # 输入密码
driver.find_element_by_css_selector(".txt-info.txt-password").send_keys(Keys.ENTER) # 回车登录
time.sleep(2) # 停留足够的时间,让浏览器加载完全
# 第四步:点击 [签到] 按钮
driver.find_element_by_css_selector(".score-task-btn.j-task-sign").click() # 点击 [签到] 按钮,完成签到
time.sleep(3) # 停留一定时间,确保完成签到
driver.quit() # 退出浏览器
整个代码并没有什么难度,最关键的点在于采取合适的定位方式,准确定位目标元素。
——