1

trg = driver.find_element_by_xpath(’//*[@id=“jb”]/div[2]’)
上句中的XPATH语句是从chrome的F12中直接右键目标得到的。以后可以作为参考样例。


2

ele = WebDriverWait(driver,20,0.2).until(ec.text_to_be_present_in_element((By.XPATH,"//td[@class=‘t1’]"),u’字典搜索’))
这个语句能正常工作,然而屏蔽掉它程序依然可以正常操作,真的需要吗?等报错再用吧。


3

st = strs.splitlines() 这个语句是split()函数的多行版,很好用哦!可以自动将内嵌多行的string分解成列表。


4 火狐无头浏览器的设置

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.ui import WebDriverWait #非无头设置的必须
from selenium.webdriver.common.by import By #非无头设置的必须
op = webdriver.FirefoxOptions()
op.add_argument("–headless") #等效于 ———— op.set_headless()
op.add_argument("–disable-gpu") #禁用GPU加速
driver = webdriver.Firefox(firefox_options = op)
driver.get(address)
以上是火狐无头浏览器设置。
要记得火狐的无头浏览器名称是:geckodriver.exe 一定要记得下载合适的版本并将其放置在:C:\Users\mlong\AppData\Local\Programs\Python\Python37\Scripts文件夹下(随个人设置而不同)。


5

import time
start = time.clock()
end = time.clock()
print(end-start)
以上可以用来测试程序某段的运行时间。time.time()也可以。


6

with open(“cww.txt”,“a”,encoding=“utf-8”) as f:
以上用来打开文件不需要最后调用close()函数。优先使用


7

模式 可做操作 若文件不存在 是否覆盖
r 只能读 报错 -
r+ 可读可写 报错 是
w 只能写 创建 是
w+  可读可写 创建 是
a   只能写 创建 否,追加写
a+ 可读可写 创建 否,追加写


8

str.replace(‘~’,strs) 用前面的参数替换后面的字符串里面的所有字符。


9

string.punctuation 是python内置的标点符号的合集


10

t = t.translate(str.maketrans(’’,’’,‘s’))查找并干掉字符串t里面的所有指定字符s


11

if re.match(r"[\u4e00-\u9fa5]",strs): 如果strs是汉字字符那么。。。。。。


12

handles = driver.window_handles
for t in handles:
print(t)
以上获取全部窗口句柄


13

driver.execute_script(‘arguments[0].scrollIntoView();’,trg)
以上将选定的元素(trg)定位到屏幕中间。


14 网摘笔记

以百库文库为例(https://wenku.baidu.com/view/217d303c76eeaeaad0f33075.html),较大的文档的展示一般是通过分页展示,并且每一页的内容不会全部加载,要在浏览到当前页才会加载当前几页的内容。像这个文档,一次显示五十页,但是只会加载当前浏览进度处的三叶内容。因此要自动抓取这个内容需要实现滚动功能。
selenium有两种滚动方式:
第一种,滚动到特定位置“:
driver.execute_script(‘var q=document.body.scrollTop=3500’) 滚动到页面的3500像素处(从上往下)(通过网页审查可以看到整个网页的像素大小) 第二种,以当前位置为参照,滚动一定距离: driver.execute_script(‘window.scrollBy(0, 1000)’) 从当前位置向下滚动1000像素。第三种,定位到特定的元素:element = driver.find_element_by_xpath("//span[@class=‘fc2e’]") 先找到特定的web元素(与beautifulsoup中的元素概念不同)。driver.execute_script(‘arguments[0].scrollIntoView();’,element) 把特定的元素滚动到页面的顶部/底部,但不一定能被点击到。实现点击: element.click()值得注意的是:目标元素经常会被一些内容遮挡,另外注意设置等待时间。网页的解析还是使用beautifulsoup:html = driver.page_source bf1 = BeautifulSoup(html, ‘lxml’) result = bf1.find_all(class_=‘ie-fix’) for each_result in result: for singlecell in each_result.find_all(‘p’): if ‘left:907px’ in str(singlecell[‘style’]): f.write(’/n’) f.write(singlecell.string+’#’)
11.1.使用JavaScript操作页面元素
#构造JavaScript查找百度首页的搜索输入框的代码字符串: searchImputBoxJS = “document.getElementById(‘kw’).value = ‘你的意义’;”
#构造JavaScript查找百度首页的搜索按钮代码字符串:searchButtonJS = “document.getElementById(‘su’).click()”
11.2.操作Web页面的滚动条
#使用javaScript的scrollTo函数和document.body.scrollHeight参数
#将页面的滚动条滑动到页面的最下方:self.driver.execute_script(“window.scrollTo(100, document.body.scrollHeight);”)
#使用JavaScript的scrollIntoView函数将被遮挡的元素滚动到可见屏幕上
#scrollIntView(true)表示将元素滚动屏幕中间
#scrollView(false)表示将元素滚动到屏幕底部
self.driver.execute_script(“document.getElementById(‘choice’).scrollIntoView(true);”)
#使用JavaScript的scrollBy方法,使用0和400横纵坐标参数


15 解决’\ufeff’

当用以下语句读TXT文件时会遇到首字是预期之外的’\ufeff’时候…
with open(‘linshiaaa.txt’,‘r’,encoding=“UTF-8”) as f:
解决方法很简单,只要把字符编码改成这样:
encoding = “UTF-8-sig”


16 有序地分割字符串

tdict[tx[i].split(’,’)[0]] = tx[i].split(’,’)[1][:-1]
嗯,这玩意就是用的split将字符串有序分割成为字典的。


17 理解__main__

'''if __name__ == '__main__'的意思是:当.py文件被直接运行时,
if __name__ == '__main__'之下的代码块将被运行;
当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。'''

18 重启脚本程序

import os
import sys
def restart_program():python = sys.executableos.execl(python, python, * sys.argv)

使用中确实可以重启脚本,但是貌似会出很多意外,不是什么程序都可以用它。


懒汉伸手之删除所有非中英文字符

day = re.sub('[^\w\u4e00-\u9fff]+', "", time.strftime("%F"))

PYTHON SELENIUM的学习笔记相关推荐

  1. Python+Selenium自动化学习笔记一

    1.打开浏览器 # 自动化初体验 打开Chrome浏览器,打开淘宝首页 from selenium import webdriver #安装浏览器驱动url = 'https://www.taobao ...

  2. Python+selenium自动化学习笔记(一)

    第一个testcase涉及到的知识内容: """这里学习内容: 如何唤起浏览器 打开指定网址 刷新页面的方法refresh() 查找指定的元素 模拟键盘输入文本并进行回车 ...

  3. python+selenium个人学习笔记10-调用JavaScript和截图

    调用JavaScript和截图 一.调用JavaScript 1.调整浏览器滚动条位置 window.scrollTo(0,500); #左边距,上边距 2.用execute_script()执行Ja ...

  4. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  5. Python基础语法学习笔记

    Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...

  6. python基础入门学习笔记 (2)

    python基础入门学习笔记 2021年2月8日 1 编译器和解释器的区别 编译器/解释器:高级语言与机器之间的翻译官 2 值传递: print "a = ",a print &q ...

  7. 关于Python的一些学习笔记(小白式笔记,持续更新)

    关于Python的一些学习笔记 瞎bb: 作为一个计算机专业的学生,Python应该是一门很有必要掌握的语言,但是由于鄙人太懒,一直对Python没有太多了解,但是随着知识的积累以及学业难度的增加,我 ...

  8. Python 基础知识学习笔记——NumPy

    Python基础知识学习笔记--NumPy 与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好.向量.矩阵和多维数组是数值计算中必不 ...

  9. Python 基础知识学习笔记——OpenCV(1)

    Python 基础知识学习笔记--OpenCV(1) OpenCV是一个开源的跨平台计算机视觉和机器学习软件库,它轻量而且高效,被广泛的使用. 整理一下OpenCV学习笔记,以防忘记. 文章目录 Py ...

最新文章

  1. 渗透测试辅助工具--在线版
  2. python 从尾到头打印链表
  3. 实例3:按部门统计工资人数
  4. 在Windows笔记本上调试运行在iOS设备上的前端应用
  5. 凡人修仙传显示无法连接服务器,《凡人修仙传》网络异常及橙色BOSS补偿说明...
  6. FreeEIM 小插件 dwzjzx v2.1001 2013 下载
  7. IIS6/IIS7无法打开IIS管理器的解决方法。
  8. python selenium下载图片_selenium下载图片(原图)
  9. 光纤带光缆的特点及应用场景
  10. Java的ActiveX控件_注册ActiveX控件的几种方法 - 镜花水月 - JavaEye技术网站
  11. mac 外接键盘让 Home End 键生效
  12. 韩昊 20190919-6 四则运算试题生成,结对
  13. 省市县三级菜单联动,含显示默认城市,只显示默认省
  14. 虚拟偶像主播的大致现状,数字人技术现状
  15. 网易大数据面试题试解
  16. C语言控制和鼠标键盘 (windows环境)
  17. 【已解决】CSDN无法粘贴图片、截图 或者 上传图片一直显示失败
  18. Ajax请求的五大步骤——一看就会
  19. toString方法和String方法
  20. win10html5无法播放,Win10网页视频无法播放提示启用adobe flash player

热门文章

  1. 彻底搞懂Python切片操作_xing2516_新浪博客
  2. 苹果5壁纸_元气壁纸软件-元气壁纸安卓版下载v1.0.2
  3. PDF无法打印 提示输入文件名
  4. 看看人家用三天写出来的完整项目,直接惊艳了面试官!
  5. 机器学习_深度学习毕设题目汇总——人脸A
  6. 爬虫实战(一)利用scrapy爬取豆瓣华语电影
  7. Python爬虫之模拟登录豆瓣获取最近看过的电影
  8. 基于多目标灰狼算法的冷热电综合三联供微网低碳经济
  9. php股票波动率计算公式,因子选股系列:波动率因子的改进,异质波动率
  10. 递推算法:繁殖问题(昆虫)