selenium模块的基本操作

一.模拟浏览器

​ 谷歌、Firefox、Safari等浏览器

  • browser=webdriver.Chrome()
  • browser=webdriver.Firefox()
  • browser=webdriver.Safari()
  • browser=webdriver.Edge()
  • browser=webdriver.PhantomJS()

二.访问

上面模拟后的浏览器

browser.get('url')

三.定位网页元素

定位元素的方法:

  • driver.find_element_by_xxx(value)

  • from selenium.webdriver.common.by import By driver.find_element(By.ID, value)

一、元素定位:用于完成元素定位的定位方式:一定要使用变量接收定位到的元素

​ a = driver.find_element_by_xxx()

  • 1 通过id属性进行定位:driver.find_element_by_id(id)

  • 2 通过name属性进行定位:driver.find_element_by_name(name)

  • 3 通过class属性进行定位:driver.find_element_by_class_name(class_name)

  • 4 通过标签名进行定位:driver.find_element_by_tag_name(value)

    使用条件:

    • 1 要定位的标签是该页面唯一该类标签

    • 2 要定位的标签是该类标签的第一个

  • 5 通过a标签文本信息定位(完整的文本):driver.find_element_by_link_text()

  • 6 通过a标签文本信息定位(部分文本)driver.find_element_by_partial_link_text()

  • 7 通过css规则进行定位:driver.find_element_by_css_selector()

  • 8 通过xpath定位:driver.find_element_by_xpath()

四.元素的操作

  • 元素名称.send_keys(value) 输入内容

  • 元素名称.clear() 清空用于有些输入的地方有默认值

  • 元素名称.click() 点击 主要用于按钮元素

  • 元素名称.submit() 提交

  • 按回车提交

    1. from selenium import webdriver
    2. from selenium.webdriver.common.keys import Keys
    3. browser = webdriver.Chrome()
    4. browser.get('https://www.baidu.com')
    5. input = browser.find_element_by_id('kw')
    6. input.send_keys('ywy')
    7. input.send_keys(Keys.ENTER)

五.传回元素内容

  • 元素名称.text: 获取文本
  • 元素名称.get_attribute(attribute):获取元素内属性attribute为标签属性
  • 元素名称.id :获取元素标签
  • 元素名称.location:获取元素名称
  • 元素名称.tag_name:获取元素标签名称
  • 元素名称.size:获取元素大小

六.浏览器的前进后退

  • 后退:browser.black()
  • 前进:browser.forward()

七.关闭

  • 关闭当前:browser.close()
  • 关闭所有:browser.quit()

八.简单的模拟百度搜索

  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. browser = webdriver.Chrome()
  4. browser.get('https://www.baidu.com')
  5. input_data = browser.find_element_by_id('kw')
  6. input_data.clear()
  7. input_data.send_keys('ywy')
  8. #input.send_keys(Keys.ENTER) 回车登入
  9. enter = browser.find_element_by_id('su')
  10. enter.click()

后续再补充其他的

深入selenium模块基础操作的更多相关文章

  1. selenium模块基础用法详解

    目录 selenium模块 官方文档 介绍 安装 有界面浏览器 无界浏览器 selenium+谷歌浏览器headless模式 基本使用 选择器 基本用法 xpath 获取标签属性 等待元素被加载 隐式 ...

  2. Android 蓝牙模块基础操作

    之前没怎么接触过蓝牙模块,在学习的过程中借鉴了很多前辈的经验.本次主要包含以下功能: 1.检测是否存在蓝牙模块 2.蓝牙的开启与关闭 3.与本机已配对的蓝牙设备 4.本机蓝牙可见性设置 5.扫描周围蓝 ...

  3. selenium 浏览器基础操作(Python)

    想要开始测试,首先要清楚测试什么浏览器.如何为浏览器安装驱动,前面已经聊过. 其次要清楚如何打开浏览器,这一点,在前面的代码中,也体现过,但是并未深究.下面就来聊一聊对浏览器操作的那些事儿. from ...

  4. python3使用selenium + Chrome基础操作代码

    selenium是Python的第三方库,使用前需要安装.但是如果你使用的是anaconda,就可以省略这个步骤,为啥?自带,任性. 安装命令: pip install selenium (一)使用s ...

  5. nltk模块基础操作

     几个基础函数 (1)搜索文本:text.concordance(word) 例如,在text1中搜索词”is”在文本中出现的次数以及上下文的词:text1.concordance("is& ...

  6. 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...

  7. 第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

    第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 ...

  8. 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    selenium模块 selenium模块为第三方模块需要安装,selenium模块是一个操作各种浏览器对应软件的api接口模块 selenium模块是一个操作各种浏览器对应软件的api接口模块,所以 ...

  9. 十六 web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

    PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的 ...

随机推荐

  1. excel中生成32位随机id

    记录下如何在EXCEL中利用公式生成32位的随机id(无符号,只有数字和小写字母). ,,)),),"",DEC2HEX(RANDBETWEEN(,,)),),"&quo ...

  2. Python面向对象-类、实例的绑定属性、绑定方法和__slots__

    绑定属性 从之前的文章中,我们知道python是动态语言——实例可以绑定任意属性. 那如果实例绑定的属性和类的属性名一样的话,会是什么情况呢? >>> class Student(o ...

  3. 微信Pcweb登录简介

    微信第三方PCweb扫码登录 准备工作 (1) 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之 ...

  4. java基础题月考JSD1908(含答案和解析)

    考试 .container { clear: both; margin: 0 auto; text-align: left; /*width: 1200px;*/ } .container:after ...

  5. sshfs 相关材料索引

    这两天简单看了 sshfs 缓存相关的内容,下面对一些好的链接进行索引,防止以后忘了: OpenSSH: Difference between internal-sftp and sftp-serve ...

  6. linux中批量添加文件前缀的操作

    需要在文件夹内所有txt文件的文件名前面添加"gt_"; 就是由原来的文件“xxx.txt”变成“gt_xxx.txt”: 网上搜来的脚本如下: for i in `ls`; do ...

  7. glusterFS空间不够了怎么办

    查看glusterFS情况 oc project infra-storage oc get all #找到其中一个pod,前缀为 po/glusterfs-registry-xxxx oc exec ...

  8. 使用vue脚手架快速创建vue项目(入门)

    1.安装环境 为了方便,以下操作大多数中命令行中运行,window可以用cmd,powershell,gitbash等. 安装node.js 打开它的官网,或者中文网站,然后直接下载就可以了,然后跟安 ...

  9. TortoiseGit 保存账号密码

    TortoiseGit下载网址:http://download.tortoisegit.org/tgit/ 修改.gitconfig .gitconfig 用于记录git配置信息 路径:系统盘:\Us ...

  10. doPost()和doGet()方法的区别?

    GET和POST请求都是http的请求方式,用户通过不同的http的请求方式完成对资源(url)的不同操作.GET,POST,PUT,DELETE就对应着对这个资源的查 ,改 ,增 ,删 4个操作,具 ...