selenium学习笔记,xpath和css定位

简单的介绍下xpath和css的定位

理论知识就不罗列了

还是利用博客园的首页、直接附上代码:

这个是xpath

 1 #!/usr/bin/env python
 2 # -*- coding: utf_8 -*-
 3 
 4 from learn_webdriver import Webdriver
 5 from selenium import webdriver
 6 from selenium.webdriver.common.action_chains import ActionChains
 7 from time import sleep
 8 
 9 browser_chrome = webdriver.Chrome(Webdriver.chrome())
10 browser_chrome.get("http://www.cnblogs.com/")
11 
12 sleep(2)
13 ActionChains(browser_chrome).move_to_element(browser_chrome.find_element_by_xpath(".//li[@]")).perform()
14 # 鼠标悬停在左侧“编程语言”导航栏上
15 browser_chrome.find_element_by_xpath(".//a[@href='/cate/python/']").click()
16 sleep(2)
17 browser_chrome.quit()

XPath 是一门在 XML 文档中查找信息的语言

使用的是函数是 find_element_by_xpath

这里总结了xpath的表达式:

表达式

说明

案例

节点名称

选取节点下所有子节点

body

body下所有子节点

/

从根节点选取

body/div

body下所有div节点

//

匹配选择节点

不考虑位置

//div

不考虑位置的div节点

.

当前节点

..

当前节点的父节点

@

选取属性

.//li[@]

li节点 且属性id=cate_item_2

下面是css

 1 #!/usr/bin/env python
 2 # -*- coding: utf_8 -*-
 3 
 4 from learn_webdriver import Webdriver
 5 from selenium import webdriver
 6 from selenium.webdriver.common.action_chains import ActionChains
 7 from time import sleep
 8 
 9 browser_chrome = webdriver.Chrome(Webdriver.chrome())
10 browser_chrome.get("http://www.cnblogs.com/")
11 
12 sleep(2)
13 ActionChains(browser_chrome).move_to_element(browser_chrome.find_element_by_css_selector("li[id = 'cate_item_2']")).perform()
14 # 鼠标悬停在左侧“编程语言”导航栏上
15 browser_chrome.find_element_by_css_selector("a[href = '/cate/python/").click()
16 sleep(2)
17 browser_chrome.quit()

css更加灵活一些

css使用的函数是 find_element_by_css_selector