简单的介绍下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[@id='cate_item_2']")).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[@id='cate_item_2'] 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