提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:记录经验,希望对大家有帮助。
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境搭建
安装python
安装selenium
下载浏览器驱动:链接: link
注意:下载后的浏览器驱动,放到python安装路径的\Scripts文件夹里即可
二、使用步骤
1.快速体验,使用python脚本打开浏览器访问网址
代码如下(示例):
# 导入库
from selenium import webdriver
# 创建驱动对象
driver = webdriver.Chrome()
# 操作对象调用get方法访问网址
driver.get("http://www.baidu.com")
# 最大化窗口
driver.maximize_window()
2.元素定位八大方法(第一式)
注意: 如果遇到driver.find_element_by_id() ,可以尝试以下方法
- 版本升级后旧方法被弃用,新方法:driver.find_element(By.ID,“kw”)
- 如果使用新方法,By报错,尝试:from selenium.webdriver.common.by import By
- 可以进去By中查看代码
class By(object):
"""
Set of supported locator strategies.
"""
ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
1,ID
“kw” 是通过检查页面元素,发现输入框id=‘kw’
截图:
代码如下(示例):
e1 = driver.find_element(By.ID,"kw")
e1.send_keys("深田咏美")
time.sleep(3)
# 关闭浏览器
driver.quit()
2,XPATH (XPATH表达式)
3,LINK_TEXT (精准定位超链接text信息)
值必须写完整,否则找不到元素
driver.find_element(By.LINK_TEXT, "必须写完整").click()
4,PARTIAL_LINK_TEXT (模糊匹配超链接text信息)
5,NAME (name属性定位)
6,TAG_NAME = “tag name” (标签名定位)
7,CLASS_NAME = “class name” (类名定位)
8,CSS_SELECTOR = “css selector” (cssx选择器定位)
总结
元素定位看似复杂,其实一点也不简单,实际工作中往往是最耗费时间的
怎么简单怎么来,只要能定位到就行,不要陷入方法中
学习:css高级语法和xpath高级语法,可以应对一些复杂的元素定位情况
报错信息
NoSuchElementException:找不到元素的异常
原因:
1,表达式写错了,
2,元素不存在当前界面(上一步操作失败导致),
3,元素还未加载出来
InvalidSelectorException: 无效选择器