前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python Selenium 自动化详解

Python Selenium 自动化详解

作者头像
NikoDos
发布2022-04-20 10:19:48
6450
发布2022-04-20 10:19:48
举报
文章被收录于专栏:Niko的小窝

注意,阅读本文需要有亿点点前端知识才容易理解。要是大佬看到了不会冒犯到吧,不会吧……

# 安装 Selenium 包

# Pip 安装

代码语言:javascript
复制
 sudo pip install selenium 

# 源码包安装

源码链接

代码语言:javascript
复制
 sudo python setup.py install 

# 安装 对应浏览器的 WebDriver

Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Chrome (淘宝源) : https://npm.taobao.org/mirrors/chromedriver/

Firefox: https://github.com/mozilla/geckodriver/releases/

IE: http://selenium-release.storage.googleapis.com/index.html?

Edge:对应浏览器对应版本,对应下载。

Chrome: 注意,先在设置 --> 关于 Chrome 里查看 Chrome 版本号,再去我给的淘宝源里找。再注意,在淘宝源里找版本时,如果没有本浏览器的版本的话,就找自己版本号的上一个。

Firefox: 选择自己系统版本下载对应的。我不用火狐,报错别怪我 (弱小.jpeg)

IE: 这我没啥注释,但建议 IE11 用用 2.5 版本就好。(这年头还有人用 IE? 可怕可怕。)

下载解压后把文件放在 Python 目录下的 Scripts 目录中,别问为啥,问就是懒得加环境变量。Linux 的可以放在 /usr/bin 下。

# 开始! 废话忒多了,进入正题。

# 基础 咱为啥要用 Selenium,就是可以爬到普通爬虫爬不到的东东,用 Selenium,更方便、更快捷、更显逼格!(打广告)

代码语言:javascript
复制
from selenium import webdriver  
driver = webdriver.Chrome() #按照你的浏览器来,就上面那几种 
driver.get("https://bing.com") #对应浏览器打开Bing标签页

大概会看到这样:

如何往输入框内填入文字并点击搜索按钮进行搜索?

Very Easy.

不要动你那个界面,打开 DevTools,找到搜索框的元素,右键 - Copy - CopyXpath,再回到代码这。

代码语言:javascript
复制
from selenium import webdriver  driver = webdriver.Chrome() #按照你的浏览器来,就上面那几种 
driver.get("https://bing.com") #对应浏览器打开Bing标签页 
input_table = driver.find_element_by_xpath('你Copy的值') #请原谅我那糟糕的命名。 
input_table.send_keys('梁非凡') # 你想输入啥?  

注意, find_element_by_xpath 这个函数很微妙,它的工作是在整个页面找一个元素,敲黑板,是一个。还有一个函数是 find_elements_by_xpath ,找的是一堆元素。很多手残的会多敲个 s,找了半天的 bug。说的就是我😭

运行。

可以看到,输入框里输入了梁非凡,接着干。

按照上次那样,打开 Devtools,找到搜索按钮的元素,接着 Copy --> Copy Xpath。

代码语言:javascript
复制
from selenium import webdriver  
driver = webdriver.Chrome() #按照你的浏览器来,就上面那几种 
driver.get("https://bing.com") #对应浏览器打开Bing标签页  
input_table = driver.find_element_by_xpath('你Copy的值') #请原谅我那糟糕的命名。 
input_table.send_keys('梁非凡') # 你想输入啥?  
search_btn = driver.find_element_by_xpath('Copy Value') 
search_btn.click()  

运行。

搞定!

还有一种方法,将 click() 换成 submit() ,或是 Webdriver 模拟用户点击按键 Enter 进行搜索。进阶会讲。

# 进阶 学了总要运用,搞个爬虫实例。

# 实战: (鸽着先,坑以后再填~)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档