当我们打开一个网页进行信息搜索时,少不了要对它进行点击和输入信息等操作,有的网页还可能需要你先登录才能开始其他操作。这篇博客就带大家来了解一下如何编写一段python代码实现打开并登录网页、对网页进行点击、输入信息等操作。


0.准备工作
  在开始之前,我们需要一些准备工作,一个能够编写并运行python代码的IDE(如:IDLE、PyCharm)、安装Python第三方函数库 Selenium、安装浏览器驱动。如何安装Selenium、浏览器驱动以及相应的一些介绍,这里放一个 链接 仅供大家参考,这里需要 注意 的是你下载的浏览器驱动的版本和你使用的浏览器版本应该是对应的。

1.打开一个网页
  接下来我们开始第一步:打开一个网页,这里以baidu.com为例,在python源程序中输入并运行下列代码:

#引入selenium库中的 webdriver 模块
from selenium import webdriver

#打开谷歌浏览器
driver = webdriver.Chrome()
#打开百度搜索主页
driver.get('https://www.baidu.com')

运行结果如下:

ç¾åº¦æ索主页

2.在网页中输入信息
  以百度搜索主页为例,我们在使用时,需要在搜索框中输入我们需要搜索的信息,那我们怎么捕捉到页面中的搜索框并在其中输入信息呢?这时我们需要使用到selenium库中的 元素定位方法 ,这里我们希望通过 XPath 定位搜索框在网页中的 <input> 标签 ,调用find_element_by_xpath()方法,在参数中输入 路径表达式 来定位搜索框,代码如下:

'''
调用selenium库中的find_element_by_xpath()方法定位搜索框,
同时使用send_keys()方法在其中输入信息
'''
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('this is a test')

运行结果如下:

Search:this is a test


  那么大家现在可能会有一个疑问是,应该如何获取搜索框的路径表达式呢?我们按 F12 或右键打开网页的元素审查窗口,点击窗口顶部的元素选择按钮,之后选中搜索框,此时已定位到搜索框在网页中的 <input> 标签,右键选择Copy XPath即可。详细步骤看图:

è·åæç´¢æ¡çè·¯å¾è¡¨è¾¾å¼


3.对网页进行点击
  在搜索框中输入将要搜索的信息之后,需要点击搜索按钮进行搜索,搜索按钮的路径表达式获取方式与步骤二一致,代码如下:

'''
调用selenium库中的find_element_by_xpath()方法定位搜索按钮,
同时使用click()方法对按钮进行点击
'''
driver.find_element_by_xpath('//*[@id="su"]').click()

运行结果如下:

Search_result

步骤①至③完整代码如下:

#引入selenium库中的 webdriver 模块
from selenium import webdriver

#打开谷歌浏览器
driver = webdriver.Chrome()
#打开百度搜索主页
driver.get('https://www.baidu.com')
'''
调用selenium库中的find_element_by_xpath()方法定位搜索框,
同时使用send_keys()方法在其中输入信息
'''
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('this is a test')
'''
调用selenium库中的find_element_by_xpath()方法定位搜索按钮,
同时使用click()方法对按钮进行点击
'''
driver.find_element_by_xpath('//*[@id="su"]').click()


4.打开并登录网页
  如果你对上述三个基础操作有了足够清楚的认识,那么如何实现打开并登录一个网页,你的心里一定有了一些想法,下面以登录 智慧树学习平台 为例,看看和你想的一样嘛?代码如下:

#引入selenium库中的 webdriver 模块
from selenium import webdriver
#引入time库
import time

#打开谷歌浏览器
driver = webdriver.Chrome()
#打开智慧树学习平台
driver.get('https://www.zhihuishu.com/')
'''
考虑到网页打开的速度取决于每个人的电脑和网速,
使用time库sleep()方法,让程序睡眠5秒
'''
time.sleep(5)
#在主页面点击登录按钮,进入登录页面
driver.find_element_by_xpath('//*[@id="notLogin"]/span/a[1]').click()
#输入账号和密码
driver.find_element_by_xpath('//*[@id="lUsername"]').send_keys('账号')
driver.find_element_by_xpath('//*[@id="lPassword"]').send_keys('密码')
#点击登录按钮
driver.find_element_by_xpath('//*[@id="f_sign_up"]/div[1]/span').click()

登录界面如下:

ç»å½çé¢

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐