Mac-Python 零基础爬虫学习笔记(3.1):selenium 页面元素定位及操作

获取某一个元素信息要掌握四步操作:

  • 获取元素
  • 操作元素
  • 获取返回结果
  • 断言(返回结果与期望结果是否一致

webdriver提供的八种基本元素定位方法:

序号 元素名称 webdriver API
1 id find_element_by_id()
2 name find_element_by_name()
3 class name find_element_by_class_name()
4 tag name find_element_by_tag_name()
5 link text find_element_by_link_text()
6 partial link text find_element_by_partial_link_text()
7 xpath find_element_by_xpath()
8 css selector find_element_by_css_selector()

四种元素操作方式:

序号 方法 说明
1 clear 清楚元素内容
2 send_keys 模拟按键输入
3 click 点击
4 submit 提交表单
1. find_element_by_id()

这里写图片描述

from selenium import webdriver
driver = webdriver.Firefox(executable_path= '/Users/Mike/Downloads/geckodriver')
driver.get("https://www.baidu.com")
driver.find_element_by_id("kw").send_keys("python")
2. find_element_by_name()
driver.get("https://www.baidu.com")
driver.find_element_by_name("wd").send_keys("python")
3. find_element_by_class_name()
driver.find_element_by_class_name("s_ipt").send_keys("python")
4. find_element_by_tag_name()

find_element_by_tag_name根据标签的名字定位,这种方法很不使用,因为一个页面的中的标签的名字重复度太早,定位起来太不容易。例如

driver.find_element_by_tag_name("input").send_keys("python")

运行失败。

5. find_element_by_link_text()

这里写图片描述

driver.find_element_by_link_text("hao123").click()
6. find_element_by_partial_link_text()

有的时候链接文本很长,输入不方便,可以通过partial部分输入查找元素。

driver.find_element_by_partial_link_text("123").click()
7. find_element_by_xpath()
8. find_element_by_css_selector()

xpath和css是比较灵活但是稍微复杂的,下次介绍。

猜你喜欢

转载自blog.csdn.net/milkbusy/article/details/81609943
今日推荐