selenium知识点整理&汇总

Selenium学习002-元素选择之常规方法

2018-07-27  本文已影响100人  残阳夕露

Selenium学习笔记目录

Selenium 选择、操作web元素01

Selenium 自动化主要就是:

选择元素

通过id选择元素
获取元素信息

Selenium 选择、操作web元素02

选择元素的方法

通过name选择元素 id是唯一的,name不一定是唯一的

<input name='cheese' type='text'/>

# 方法一:
cheese = driver.find_element_by_name('cheese')
# 方法二:
from selenium.webdriver.common.by import By
cheeses = driver.find_emement(By.NAME,'cheese')
# 示例
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(r'file:///E:/Python/tmp/own/test.html')
button = driver.find_element_by_name('button')
print(button.text)
# 执行结果
按钮01

#找不到时
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(r'file:///E:/Python/tmp/own/test.html')
try:
    button = driver.find_element_by_name('button4')
    print(button.text)
except:
    print('未找到')
# 执行结果
未找到
# 方法一:
cheese = driver.find_elements_by_name('cheese')
# 方法二:
from selenium.webdriver.common.by import By
cheeses = driver.find_emements(By.NAME,'cheese')
# 示例
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(r'file:///E:/Python/tmp/own/test.html')
button = driver.find_elements_by_name('button')
for a in button:
    print(a.text)
# 执行结果
按钮01
按钮02
按钮03

通过class选择元素非唯一值,通常用来选择多个元素

cheeses = driver.find_elements_by_class_name('cheese')

通过tag名选择元素

frame = driver.find_element_by_tag_name('iframe')

通过链接文本选择元素

ele = driver.find.element_by_link_text("转到百度")
ele = driver.find.element_by_partial_link_text(u"百度") # 此处可以不写u,python2中此处的“u”必写

页面操作(补充)

学习地址

查找时间

import time
time.sleep(10)

模拟回车键enter的操作

from selenium.webdriver.common.keys import Keys
driver.find_element_by_id('toStationText').send_keys('杭州东\n')

from selenium.webdriver.common.keys import Keys
driver.find_element_by_id('toStationText').send_keys('杭州东')
driver.find_element_by_id('toStationText').send_keys(Keys.ENTER)  # 模拟键盘enter

页面交互

WebDriver提供了各种方法来寻找元素。例如下面有一个表单输入框。

<input type="text" name="passwd" id="passwd-id" />

element = driver.find_element_by_id("passwd-id")
element = driver.find_element_by_name("passwd")
element = driver.find_elements_by_tag_name("input")
element = driver.find_element_by_xpath("//input[@id='passwd-id']")

获取了元素之后,下一步当然就是向文本输入内容了,可以利用下面的方法

element.send_keys("some text")

同样你还可以利用 Keys 这个类来模拟点击某个按键

element.send_keys("and some", Keys.ARROW_DOWN)

可以用下面的方法来清除输入文本的内容。

element.clear()

填充表单

上一篇 下一篇

猜你喜欢

热点阅读