页面元素的操作相对浏览器页面来说较少,主要是元素大小尺寸等基本信息以及点击,输入,清除等常规操作。
举例1:获取百度登录基本信息
<a class="s-top-login-btn c-btn c-btn-primary c-btn-mini lb" onclick="return false;" name="tj_login" href="https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F&sms=5">登录</a>
- 启动火狐浏览器
- 打开百度首页,https://www.baidu.com
- 定位登录链接,记录下链接xpath表达式:.//*[@id=‘u1’]/a
- 获取元素尺寸信息
- 获取元素文本信息
- 获取元素标签名称信息
- 关闭并退出浏览器
from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
driver.maximize_window()
#访问百度首页
driver.get("https://www.baidu.com")
sleep(3)
#定位登录元素位置
element=driver.find_element_by_xpath(".//*[@id='u1']/a")
print("元素大小:",element.size)
print("元素文本信息:",element.text)
print("元素标签名称:",element.tag_name)
driver.quit()
运行结果:
按钮大小: {'height': 24.0, 'width': 48.0}
按钮文本信息: 登录
按钮标签名称: a
举例2:通过百度一下来实现输入,点击等操作
- 启动火狐浏览器
- 打开百度首页,https://www.baidu.com
- 定位百度输入框,记录下id表达式:kw,输入搜索信息
- 定位百度一下按钮,记录下id表达式:su
- 打印百度一下按钮type属性值,是否可见,是否已选中,然后进行点击操作
- 关闭并退出浏览器
from selenium import webdriver
from time import sleep
driver=webdriver.Firefox()
driver.maximize_window()
#访问百度首页
driver.get("https://www.baidu.com")
sleep(3)
#定位百度输入框,并输入搜索信息
driver.find_element_by_id("kw").send_keys("Selenium")
#定位百度一下按钮
su=driver.find_element_by_id("su")
#返回元素的属性信息,可以是id、name、type或其他属性信息
print("百度一下按钮type属性值为:",su.get_attribute("type"))
print("百度一下按钮是否可见:",su.is_displayed())
print("百度一下按钮是否被选中:",su.is_selected())
#点击按钮
su.click()
sleep(3)
driver.quit()
运行结果:
百度一下按钮tyoe属性值为: submit
百度一下按钮是否可见: True
百度一下按钮是否被选中: False
is_selected()这里返回False是正常的,因为这个函数主要是用来判断单选框和复选框是否被选中的情况,其他元素不存在是否被选中,所以都会返回False。