selenium 自主登录百度云,新建文件、删除文件及重命名
来源:互联网 发布:360数据恢复手机版 编辑:程序博客网 时间:2024/05/17 23:59
遇到问题:
1、无法定位元素:
当html中tag的class都是相同,xpath绝对路径会变化,所有用这些都无法定位
解决思路:1)用 by_link_txt来取 2)用相对路径,比如driver.find_element_by_xpath('//a[@data-button-id="b63"]').click()
2、页面里面内容更新后,再找相关元素 element invisible解决思路 :重新加载页面driver.switch_to.default_content()3、确定内容用enterdriver.find_element_by_class_name("GadHyA").send_keys(Keys.ENTER)
#!/usr/bin/env python# coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.common.keys import Keysimport timedriver=webdriver.Firefox()driver.get("https://pan.baidu.com/")driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a").click()driver.find_element_by_name("userName").clear()driver.find_element_by_name("userName").send_keys("username")driver.find_element_by_name("password").send_keys("password")driver.find_element_by_id("TANGRAM__PSP_4__submit").click()time.sleep(5)driver.switch_to.default_content()inputs=driver.find_elements_by_class_name("NbKJexb")n=len(inputs)for i in inputs: print(i.text)print("当前列表文件为 %d" % n)#driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[2]/div/div/div/div[1]/div[2]/div[4]/div[2]/a[2]/span").click()driver.find_element_by_link_text('新建文件夹').click()driver.switch_to.default_content()driver.find_element_by_class_name('GadHyA').send_keys(Keys.ENTER)time.sleep(5)inputs1=driver.find_elements_by_class_name("NbKJexb")ns=len(inputs1)print("当前列表文件为 %d" % ns)if ns==n+1: print("OK!")else: raise NameError("添加文件失败!")time.sleep(5)above=driver.find_element_by_class_name("loaWBjA")ActionChains(driver).context_click(above).perform()driver.find_element_by_class_name("EOGexf").click()driver.switch_to.default_content()time.sleep(1)driver.find_element_by_link_text('删除').click()driver.switch_to.default_content()time.sleep(1)driver.find_element_by_xpath('//a[@data-button-id="b63"]').click()driver.switch_to.default_content()time.sleep(5)inputs2=driver.find_elements_by_class_name("NbKJexb")nd=len(inputs2)print("当前列表文件为 %d" % nd)if nd==ns-1: print("删除OK!")else: raise NameError("删除文件失败!")time.sleep(5)driver.find_element_by_class_name("EOGexf").click()driver.switch_to.default_content()time.sleep(1)driver.find_element_by_link_text('重命名').click()time.sleep(4)driver.find_element_by_class_name("GadHyA").send_keys('小伙伴2')driver.find_element_by_class_name("GadHyA").send_keys(Keys.ENTER)time.sleep(4)driver.quit()
0 0
- selenium 自主登录百度云,新建文件、删除文件及重命名
- java对文件新建,删除,复制,剪切,重命名
- ubuntu 新建、移动、重命名、复制、删除文件(夹)
- 遍历SD卡及删除、重命名文件
- windows 新建文件夹 重命名文件
- 文件重命名与删除
- java删除文件,重命名文件
- 文件及文件夹的新建与删除
- C++ : 重命名 及 删除文件 (C 风格)
- vc文件复制和删除及移动和重命名
- vc文件复制和删除及移动和重命名
- 文件无法重命名文件和删除文件
- git 删除和重命名文件
- 文件的创建、删除、重命名
- [Hadoop]HDFS文件的相关操作(上传、新建、删除和重命名)
- Java对于文件的新建,重命名,删除,以及遍历,以及复制
- 批处理命令 删除文件,重命名文件
- TFS中删除文件和重命名文件
- Struts2.5+eclipse+tomcat8.5配置
- 滚动RecyclerView加载图片时的流畅度优化
- 支付宝的RSA加签验签机制
- 【基础JSP 练习】
- 排序算法-09-排序1 排序 (25分)-第二部分
- selenium 自主登录百度云,新建文件、删除文件及重命名
- c#获取本地IP和MAC地址
- java连接mysql数据的url写法
- Koa2 学习笔记(第一天)
- i am from shanghai 将字符串倒过来输出的算法
- 【Codeforces Round #414 C Naming Company】
- 十大算法简述
- 学习Linux命令(7)
- 单链表部分1