基于python的Selenium学习1

Selenium 自动化 主要就是:

1、选择页面元素

2、操作页面元素:

  输入操作:点击、输入文字、拖拽等。

  输出操作:获取元素的各种属性。

3、根据界面上获取的数据进行分析和处理

 

选择元素:

1、WebDriver:操作整个浏览器和当前整个页面

  当前页面上的选择符合查找条件的对象

  打开网址、回退、前进、刷新网页

  获取、改变浏览器窗口大小,关闭浏览器、截屏

  获取、设置cookies

2、WebElement:操作和对应web元素

  当前web元素的所有子元素里面符合查找条件的对象

  操作该web元素,比如:

    点击元素

    输入字符

    获取元素坐标、尺寸、文本内容、其他的属性信息

 

通过id选择元素:

一个web元素:

<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">

id是在DOM中唯一标志这个元素的属性。

  查找的效率最高

  写法1:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('网址')
element = driver.find_element_by_id('kw')
  写法2:
from selenium.webdriver.common.by import By
element = driver.find_element(by=By.ID, value ="kw")

  没有找到:
 selenium.common.exceptions.NoSuchElementException

获取元素信息
  text属性 显示该元素在web页面显示出来的文本内容
get_attribute 方法
  某个属性的值
element.get_attribute('herf')
  该元素对应html源代码
element.get_attribute('outerHTML')
  该元素内部部分的html源代码
element.get_attribute('innerHTML')

通过name选择元素:
一个web元素:
<input name="cheese" type="text">
返回的是第一个找到的元素:
cheese = driver.find_element_by_name("cheese")
返回所有元素:
cheese = driver.find_elements_by_name("cheese")

如果找不到,返回空列表,不抛出异常

通过class选择元素:
一个web元素:
<div class="cheese"><span>Cheddar</span></div>
<div class="cheese"><span>Gouda</span></div>

返回所有元素
chesses = driver.find_elements_by_class_name("cheese")

通过tag名选择元素:
  tag名如果唯一的,可以根据tag名定位
  假设html中有如下片段
  <iframe src="..."></iframe>
  可以
  frame = driver.find_element_by_tag_name("firame")

通过连接文本选择元素:
对于连接,可以通过其链接文本的内容
<a href="http://www.baidu.com">转到百度</a>

可以这样选择:
ele = driver.find_element_by_link_text("转到百度")
我们甚至可以只需要通过部分文本去找到该链接元素:
ele = driver.find_element_by_partial_link_text("百度")

 

posted @ 2019-04-20 15:18  tester菜鸟  阅读(455)  评论(0编辑  收藏  举报