傻大方


首页 > 潮·科技 > >

你要偷偷的学Python,然后惊呆所有人(第十二天)



按关键词阅读:

你要偷偷的学Python,然后惊呆所有人(第十二天)文章插图
标题无意冒犯 , 就是觉得这个广告挺好玩的
文章目录

  • 前言
  • 欢迎来到我们的圈子
  • 先上一段代码 , 云淡风轻
  • 代码解释
  • 第一个坑:find_element_name
  • 第二个坑: switch_to_frame()
  • cookies绕过登录验证 , 绕进了荒漠
  • 迎来转机
  • 成功路前的磕磕碰碰
前言前期回顾:你要偷偷学Python(第十一天)
上一篇啊 , 上一篇说这一篇要带大家玩selenium , 那自然是没错的 。 不过这一篇会不一样一点 , 这一篇会持续更新 。
插播一条推送:(如果是小白的话 , 可以看一下下面这一段)
欢迎来到我们的圈子你要偷偷的学Python,然后惊呆所有人(第十二天)文章插图
我建了一个Python学习答疑群 , 有兴趣的朋友可以了解一下:如果大家在学习中遇到困难 , 想找一个python学习交流环境 , 可以加入我们的python裙 , 关注小编 , 并私信“01”即可进裙 , 领取python学习资料 , 会节约很多时间 , 减少很多遇到的难题 。
本系列文默认各位有一定的C或C++基础 , 因为我是学了点C++的皮毛之后入手的Python 。 本系列文默认各位会百度 , 学习‘模块’这个模块的话 , 还是建议大家有自己的编辑器和编译器的 , 上一篇已经给大家做了推荐啦?然后呢 , 本系列的目录嘛 , 说实话我个人比较倾向于那两本 Primer Plus , 所以就跟着它们的目录结构吧 。 本系列也会着重培养各位的自主动手能力 , 毕竟我不可能把所有知识点都给你讲到 , 所以自己解决需求的能力就尤为重要 , 所以我在文中埋得坑请不要把它们看成坑 , 那是我留给你们的锻炼机会 , 请各显神通 , 自行解决 。 1234567先上一段代码 , 云淡风轻# 本地Chrome浏览器设置方法from selenium import webdriver #操作浏览器所需的包from selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC#Xpath导航所需的包import time #延时所需的包from selenium.webdriver.chrome.options import Optionsclass golden_data:def __init__(self):options = Options()#chrome_options.add_argument('--no-sandbox')# 解决DevToolsActivePort文件不存在的报错#options.add_argument('--disable-gpu')# 谷歌文档提到需要加上这个属性来规避bug#options.add_argument('blink-settings=imagesEnabled=false')# 不加载图片, 提升速度#options.add_argument('--headless')# 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败self.driver = webdriver.Chrome(options=options,executable_path="D:/Python3.9/chromedriver.exe")# 获取谷歌浏览器控制句柄self.driver.get('')# 打开金数据登录页面self.wait = WebDriverWait(self.driver, 10)# Xpath导航time.sleep(2)#登录金数据def login_data(self):# 往账户栏写入内容name_input = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="auth_key"]')))name_input.clear()name_input.send_keys('18039027069')# 在这写入你的姓名time.sleep(2)# 点击“下一步”next_step = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="login_form"]/div/div[3]/button')))next_step.click()time.sleep(2)# 往密码栏输入内容pwd_input = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="password"]')))pwd_input.clear()pwd_input.send_keys('123456.sp')# 在这写入你的姓名time.sleep(2)# 点击登录login_click = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="login_form"]/div/div[4]/button')))login_click.click()time.sleep(2)#创建表单#def create_table(self):#收集表单数据def collect_data(self):#点击第一个问卷first_block = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="5fa54cff61936cdee3121fa5"]/div/a')))first_block.click()time.sleep(2)#点击‘数据’table_click = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="entries_nav"]')))table_click.click()time.sleep(2)#数据导出data_out = self.wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[3]/div[1]/div[3]/div/div[2]/table/tbody/tr/td[15]')))data_out.click()time.sleep(60)#这里的等待时间有点不好控制#数据预下载data_fore_download = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="export_job_modal"]/div/div/div[3]/div/a[1]')))data_fore_download.click()time.sleep(10)#数据下载data_download = self.wait.until(EC.presence_of_element_located((By.XPATH, '/html/body/div[3]/div[1]/div[3]/div/div[2]/table/tbody/tr/td[15]/table/tbody/tr/td/div[1]/span[2]/a[1]')))data_download.click()self.driver.close()test = golden_data()test.login_data()test.collect_data()123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081


稿源:(未知)

【傻大方】网址:http://www.shadafang.com/c/111T313942020.html

标题:你要偷偷的学Python,然后惊呆所有人(第十二天)


上一篇:鑫谷85元T5散热器评测,5热管干不过利民4热管:但是我有灯

下一篇:7nm 5G+大电池 华为畅享20双11放价:不担心没电