1 简单的定位网页对象元素:
如果有唯一的id,就用id定位元素; 如果没有,最好使用xpath定位;
id:find_element_by_id()
name:find_element_by_name()
class name:find_element_by_class_name()
tag name:find_element_tag_name()
link text:find_element_link_text()
partial link text:find_element_partial _link_text()
xpath:find_element_by_xpath()
css selector:find_element_by_css_selector()
clear :清除元素内的内容
send_keys:模拟按键输入,赋值
click:单击元素
submit:提交表单
driver.save_screenshot("1.png") 保存截图
driver.current_url 获取当前页免的URL
driver.find_element_by_id("iptUsername").text 获取元素文本
drive.name 获取浏览器名称
driver.implicitly_wait(30) 设置等待超时时间,可以在设置的时间内智能等待
2 配置好python 用pip install selenium命令安装好selenium;
3 下载chrome驱动包
4 尝试用python代码打开百度页面,并搜索预先给定的关键字:
from selenium import webdriver
import unittest, time
class BaiduTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30) # 隐性等待时间为30秒
self.base_url = "https://www.baidu.com"
def test_baidu(self):
driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
title = driver.title
self.assertEqual(title, u"selenium_百度搜索")
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()