python3+selenium3学习笔记04---元素定位

开始前,咱们先来看一张百度web页面,页面上有输入框、按钮和文字链接、图片、下拉框等对象,如下

按F12(或者鼠标右键,‘检查’)可以网页源代码,

 

Webdriver提供了八中元素定位方法,在python语言中,所对应的方法如下:

find_element_by_id()
find_element_by_xpath()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_css_selector()
find_element_by_name()
find_element_by_tag_name()
find_element_by_class_name()

 

以百度搜索输入框为例

1:打开百度首页--->F12--->选择元素--->使用鼠标定位到输入框,可以看到对应的元素如调试窗口所示

   

python脚本如下

1:find_element_by_id()

from selenium import webdriver
import time
#定义被测网页
url1 = "https://www.baidu.com/"
#获取浏览器操作对象
driver = webdriver.Chrome()
#设置窗口最大化
driver.maximize_window()
#访问被测网页
driver.get(url1)
#通过id查找输入框并清空输入框
driver.find_element_by_id('kw').clear()
#在输入框中输入'selenium'
driver.find_element_by_id('kw').send_keys('selenium')
time.sleep(1)
#通过id查询'百度一下'按钮,并触发点击事件
driver.find_element_by_id('su').click()
#打印title
print(driver.title)
#等待1s, 并退出浏览器
time.sleep(1)
driver.quit()

2:find_element_by_name()

from selenium import webdriver
import time
#定义被测网页
url1 = "https://www.baidu.com/"
#获取浏览器操作对象
driver = webdriver.Chrome()
#设置窗口最大化
driver.maximize_window()
#访问被测网页
driver.get(url1)
#通过name查找输入框并清空输入框
driver.find_element_by_name('wd').clear()
#在输入框中输入'selenium'
driver.find_element_by_name('wd').send_keys('selenium')
time.sleep(1)
#通过name查询'百度一下'按钮,并触发点击事件,因为'百度一下'按钮没有提供name属性,所以次处不能通过name定位
driver.find_element_by_id('su').click()
#打印title
print(driver.title)
#等待1s, 并退出浏览器
time.sleep(1)
driver.quit()

 

3:find_element_by_xpath()

from selenium import webdriver
import time
#定义被测网页
url1 = "https://www.baidu.com/"
#获取浏览器操作对象
driver = webdriver.Chrome()
#设置窗口最大化
driver.maximize_window()
#访问被测网页
driver.get(url1)
#通过xpath查找输入框并清空输入框
driver.find_element_by_xapth('//input*[@id="kw"]').clear()
#在输入框中输入'selenium'
driver.find_element_by_xpath('//input*[@id="kw"]').send_keys('selenium')
time.sleep(1)
#通过xpath查询'百度一下'按钮,并触发点击事件
driver.find_element_by_xpath('//input*[@id="su"]').click()
#打印title
print(driver.title)
#等待1s, 并退出浏览器
time.sleep(1)
driver.quit()

 

4:find_element_by_css_selector()

from selenium import webdriver
import time
#定义被测网页
url1 = "https://www.baidu.com/"
#获取浏览器操作对象
driver = webdriver.Chrome()
#设置窗口最大化
driver.maximize_window()
#访问被测网页
driver.get(url1)
#通过css查找输入框并清空输入框
driver.find_element_by_css_selector('#kw').clear()
#在输入框中输入'selenium'
driver.find_element_by_css_selector('#kw').send_keys('selenium')
time.sleep(1)
#通过css查询'百度一下'按钮,并触发点击事件
driver.find_element_by_css_selector('#su').click()
#打印title
print(driver.title)
#等待1s, 并退出浏览器
time.sleep(1)
driver.quit()

 

posted @ 2019-08-06 00:08  AForever01  阅读(321)  评论(0编辑  收藏  举报