利用python定位网页上的元素
2015-12-15 14:18
731 查看
1. 想对网页上的元素进行操作,首先需要定位到元素。
以百度首页为例:
输入以下代码,打开百度首页:
2. 在打开的百度首页,右键点击,选择“查看网页源代码”。
以下网页源代码是与百度输入框和“百度一下”按钮有关的,先提取在这里,方便后续定位。
3. 定位百度输入框
通过id定位:
通过name定位:
通过标签名tag_name定位:
通过class_name定位:
通过css定位:
以id定位:
以name定位:
通过XPath定位:(XPath是一种在XML文档中定位元素的语言)
attribute属性定位(定位input标签下,id=kw的元素):
id相关性定位(/form/span/input层级标签下,div标签下,id=fm的元素):
id为check的tr,定位它的第2个td:
position位置定位(第7个tr里面的第2个td):
href水平参考定位(a标签下,查找包含‘网页’的文本text元素):
link定位(a标签下,查找链接为'href='http://www.baidu.com/'的元素):
通过link定位(可以查找文字链接,打开贴吧链接):
4. 定位”百度一下“按钮
通过class_name定位:
更多参考资料,请参考:
http://www.cnblogs.com/qingchunjun/p/4208159.html
以百度首页为例:
输入以下代码,打开百度首页:
# coding = gbk from selenium import webdriver chrome_driver_path = "C:\Python27\selenium\webdriver\chromedriver\chromedriver" global browser browser = webdriver.Chrome(chrome_driver_path) url_int = "https://www.baidu.com/" browser.get(url_int) print "Open baidu"
2. 在打开的百度首页,右键点击,选择“查看网页源代码”。
以下网页源代码是与百度输入框和“百度一下”按钮有关的,先提取在这里,方便后续定位。
<span class="bg s_ipt_wr"><input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"></span><span class="bg s_btn_wr"><input type="submit" id="su" value="百度一下" class="bg s_btn"></span>
3. 定位百度输入框
通过id定位:
browser.find_element_by_id("kw")
通过name定位:
browser.find_element_by_name("wd")
通过标签名tag_name定位:
browser.find_element_by_tag_name("input")
通过class_name定位:
browser.find_element_by_class_name("bg_s_btn_wr")
通过css定位:
以id定位:
browser.find_element_by_css_selector("a[id=\"kw\"]")
以name定位:
browser.find_element_by_css_selector("a[name=\"wd\"]")
通过XPath定位:(XPath是一种在XML文档中定位元素的语言)
attribute属性定位(定位input标签下,id=kw的元素):
browser.find_element_by_xpath("//input[@id='kw']")
id相关性定位(/form/span/input层级标签下,div标签下,id=fm的元素):
browser.find_element_by_xpath("//div[@id='fm']/form/span/input")
id为check的tr,定位它的第2个td:
browser.find_element_by_xpath("tr[@id='check']/td[2]")
position位置定位(第7个tr里面的第2个td):
browser.find_element_by_xpath("//tr[7]/td[2]")
href水平参考定位(a标签下,查找包含‘网页’的文本text元素):
browser.find_element_by_xpath("//a[contains(text(),'网页')]")
link定位(a标签下,查找链接为'href='http://www.baidu.com/'的元素):
browser.find_element_by_xpath("//a[@href='http://www.baidu.com']")
通过link定位(可以查找文字链接,打开贴吧链接):
browser.find_element_by_link_text("贴吧") browser.find_element_by_partial_link_text("贴")
4. 定位”百度一下“按钮
通过class_name定位:
browser.find_element_by_class_name("bg_s_btn_wr")
更多参考资料,请参考:
http://www.cnblogs.com/qingchunjun/p/4208159.html
相关文章推荐
- Python中的logger和handler到底是个什么鬼
- python cython 模块(1)
- Python单元测试框架之Nose
- Python 100例
- Python JSON
- Python IDE
- python GUI编程(Tkinter)
- Python XML解析
- Python 多线程
- Python使用SMTP发送邮件
- python操作mysql数据库
- Python CGI编程
- Python正则表达式
- Python 面向对象
- 【学院官方整理】Python学习路线图-适合自学者从入门到项目开发(视频+文档) 干货提炼
- python 脚本检测python 版本
- python dict traversal
- python lambda函数
- ipython&nbsp;notebook使用
- python 实现 loadrunner xml脚本格式化