**
使用Selenium模块的前置条件
**
1)安装Python和PyCharm
2) 安装Selenium(Selenium是Python的一个第三方包)
保证你的电脑连接好了外网,进入cmd命令行窗口,输入:pip install selenium
检验是否安装成功:进入Python交互环境(在cmd命令行窗口输入python),输入import selenium 不报错即安装成功。
pip install selenium

3)获取浏览器版本对应的驱动,并将驱动路径添加到系统环境变量Path里


下面我们就使用Selenium模块进行自动化操作了
打开PyCharm,新建一个python文件
from selenium import webdriver #引用
dr= webdriver.Chrome() #启动浏览器为谷歌浏览器
dr.get("https://www.baidu.com/") #打开网址
通过xpath定位页面元素,用于给selenium模块进行定位:
1)选择需要定位的网页位置——搜索框,鼠标右键然后点击检查

2)确认位置

3)鼠标右键 —— Copy —— Copy full Xpath

得到的xpath元素:
/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
使用所得到的xpath元素
#在搜索框输入“优快云”
dr.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input").send_keys("优快云")
接着查找下一个需要定位的网页位置——百度一下,方法同上,得到xpath元素

得到的xpath元素:
/html/body/div[1]/div[1]/div[5]/div/div/form/span[2]/input
使用所得到的xpath元素
#点击“百度一下”按钮
dr.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[2]/input").click()
接着查找下一个需要定位的网页位置——优快云官网,方法同上,得到xpath元素

得到的xpath元素:
/html/body/div[1]/div[3]/div[1]/div[3]/div[1]/h3/a[1]
使用所得到的xpath元素
#进入优快云官网
dr.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/div[3]/div[1]/h3/a[1]").click()
最后关闭浏览器
dr.quit()
完整代码:
from selenium import webdriver #引用selenium模块
dr= webdriver.Chrome() #启动浏览器为谷歌浏览器
dr.get("https://www.baidu.com/") #打开网址
#在搜索框输入“优快云”
dr.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input").send_keys("优快云")
#点击“百度一下”按钮
dr.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[2]/input").click()
#进入优快云官网
dr.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/div[3]/div[1]/h3/a[1]").click()
dr.quit()
(定位页面元素,除了使用xpath,还可以使用id、name、class、link文本、部分链接的文本、html标签等等属性进行定位)
ps:
常见问题处理
1)pip 命令不可用
输入 pip 命令后提示 pip 不是有效的命令 ,原因是因为环境变量未加好。检查环境变量,把 Python 目录和
Python\Scripts 目录都加到环境变量即可。
2)提示 time out
因为 pip 访问的是国外的 pypi 仓库,因此可能联网失败,可以使用离线安装的方式或者重试即可。
3)提示无权限
这种是没有权限,用管理员打开命令提示符即可。
4)浏览器驱动
由于Selenium升级到3.0版本后,浏览器驱动与selenium库分离,因此浏览器驱动需要单独部署。
1104

被折叠的 条评论
为什么被折叠?



