今天是超级郁闷的一天

看教程

下了mysql-----配置-----不会----查资料------2小时后

mongodb-----配置------不会------查资料------1小时后

然后是各种相关软件的下载配置—然后懒得搞了。。

于是乎开始看

selenium

简单的模拟一下chrome----报错

from selenium import webdriver

browser = webdriver.Chrome()

browser.get("http://www.baidu.com")
print(browser.page_source)
browser.close()

甩一个

'chromedriver' executable needs to be in PATH

ok,发现没下载chromedriver-----下载------版本错了-----继续下载----环境变量配置------还是不行-----百度-------循环上述操作------最后发现需要手动加路径

from selenium import webdriver

browser = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver')
browser.get("http://www.baidu.com")
print(browser.page_source)
browser.close()

看到百度一闪而过…???

成功了哈哈哈哈

但是我今天学了些啥呢??

果然还是心急吃不了热豆腐,不要想着一天就能搞定一个东西,循序渐进吧。。。

"""
selenium
自动化测试工具,支持多种浏览器
爬虫中主要用来解决javascript渲染的问题
"""
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait #声明浏览器对象
browser = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver')
"""
还有Firefox,Edge,Safari.....
"""
try:
# 访问页面
browser.get(r"https://www.taobao.com") # 查找元素
input = browser.find_element_by_id('q') # 找到名字为kw的元素
"""
可选:
find_element_by_[name,xpath,link_text,partial_link_text,tag_name,class_name,css_selector]
或者
find_element(By.ID,'q')
如果要获取多个元素:
find_elements 即可,其他同上
""" # 元素交互操作
input.send_keys('Python') # 模拟键盘敲入Python
time.sleep(1)
input.send_keys('ipad')
time.sleep(1)
input.send_keys(Keys.ENTER)
"""
1.clear() 用途:清除文本,如在输入用户名、密码之前,清除相应的输入框 语法:element.clear() 2.sendkeys() 用途:模拟用户输入,如输入用户名、密码等。 语法:element.sendkeys("123"),向输入框中输入123 3.click() 用途:模拟用户点击,如点击登录按钮。 语法:element.click() 4.submit() 用途:用于提交表单,如在搜索框输入关键字后,点击回车,就可以通过submit()模拟。 语法:element.submit() 5.size 用途:获取元素的尺寸,如:UI测试时,要获取输入框的尺寸,就可以用size方法。 语法:element.size 6.text 用途:获取元素文本信息,如输入不合法信息,提交表单,可以用text获取提示信息。 语法:element.text 7.get_attribute() 用途:获取元素的属性,可以用于获取元素的id、name、type等任意属性。 语法:element.get_attribut("id"),获取改元素的id。 8.is_displayed() 用途:设置元素用户是否可见,返回结果为Ture或False 语法:element.is_dispiayed() from 高可乐的爸爸
""" # 交互动作:将动作附加到动作链中串行执行
# 执行JS:通过js代码执行相关操作(万能) #等待:
#隐式等待和隐式等待
wait = WebDriverWait(browser,10)
wait.until(EC.presence_of_element_located((By.ID,'content_left'))) #等待加载 """
前进后退
选项卡管理
cookies
异常处理
""" print(browser.current_url)
print(browser.get_cookies())
print(browser.page_source)
finally:
browser.close()

ohohohohoh what a weary day

最新文章

  1. iOS逆向工程之KeyChain与Snoop-it
  2. mysql定时任务简单例子
  3. 扩展Smack Message
  4. [自制简单操作系统] 2、鼠标及键盘中断处理事件[PIC\GDT\IDT\FIFO]
  5. HDU 4679 Terrorist’s destroy
  6. poj 1552 Doubles
  7. php关联不上mysql解决办法
  8. CGAffineTransformMake(a,b,c,d,tx,ty) 矩阵运算的原理
  9. poj 3469 Dual Core CPU【求最小割容量】
  10. Task与Thread间的区别
  11. javascript两种定时器的使用及其清除
  12. LoadRunner监控windows资源报错Monitor name :Windows Resources. Cannot connect to machine
  13. javascript的页面加载及性能优化(兼容IE7)
  14. 功能代码(1)---通过Jquery来处理复选框
  15. 为fastdfs文件服务器新增一个storage
  16. Python小练习之判断一个日期是一年的第几天
  17. Android 基本控件相关知识整理
  18. python之async-timeout模块
  19. datatables 添加excel下载
  20. 浅谈常用的几种web攻击方式

热门文章

  1. vue脚手架3.0的安装与使用
  2. PHP 获取上个月1号和上个月最后一天时间戳,下个月1号和下个月最后一天的时间戳
  3. Oracle 中同义词使用
  4. pycharm激活码,亲测有效
  5. 在 Linux 系统中如何管理 systemd 服务
  6. BFC与优雅降级 渐进增强——学习笔记
  7. 自动化测试: Selenium 自动登录授权,再 Requests 请求内容
  8. ASP.NET通过更改Url进行页面传值
  9. Java实现 蓝桥杯VIP 算法训练 明明的随机数
  10. Java中构造方法的详细介绍