Selenium Selenium 打开百度,搜索 Hello World,然后截图

codeskyblue · 2019年01月22日 · 最后由 wzhhey 回复于 2019年01月24日 · 3058 次阅读

背景

老实说 Selenium 平常基本不用,打算拿起来用的原因是因为公司内经常会有人找我申请 DNS,而我每次都要打开公司的那个系统把相关的信息填进去。时间长了就有点烦了。
所以花了几个小时,输入一些基本的信息(申请人,用途,域名,IP),用 Selenium 脚本完成自动登录,自动补全信息。提交。看到效果感觉还是挺爽的。

Step by Step

安装 Selenium 库

pip install selenium
pip install logzero # 一个方便的日志库

创建一个工作目录 SeleniumStudy

从 Chromium 官网下载 ChromeDriver for windows https://sites.google.com/a/chromium.org/chromedriver/downloads
下载解压完,放到工作目录中。

创建一个文件main.py

头部的内容(从网上摘抄的)直接复制粘贴进去。

# coding: utf-8

import re
import sys
import time

from logzero import logger
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Chrome(r"chromedriver")
driver.implicitly_wait(30) # 设置默认的等待时间
#def click(xpath):
#   logger.info("Click %s", xpath)
#    e = WebDriverWait(driver, 10).until(
#        EC.presence_of_element_located((By.XPATH, xpath)))
#    e.click()
#    time.sleep(.1)

下面来用代码演示下打开百度,搜索Hello World点击确定,然后保存搜索内容成图片

driver.get("https://www.baidu.com")

目前只有一行代码,执行完之后就会自动打开浏览器,访问百度首页。
如何用代码点击搜索框呢?

第一步先需要确定搜索框的定位符。

打开 Chrome,F12开启开发者选项。选择这个 Inspect 元素的功能,如下图(或者快捷键 Ctrl+Shift+C)

鼠标移动上传,搜索框会被高亮。点击左键。

调试窗口中的相应的 HTML 也会被选中。这时右键选择 Copy Xpath

剩下的就是调用 selenium 的接口了。

driver.find_element_by_xpath('//*[@id="kw"]').send_keys("Hello World")
driver.find_element_by_xpath('//*[@id="su"]').click()
time.sleep(1)
driver.save_screenshot('screenshot.png')

driver.close() # 关闭浏览器

最后截图出来的图片

参考资料

其他资料

2021 年 5 月补充

https://www.selenium.dev/selenium-ide/

目前用了下感觉 seleniumIDE 也挺好用的。界面长的跟 katalon 很像,可能是反向抄的
seleniumIDE 的录制模式是真的好用啊

其他资料: Katalon Recorder

另外在 Chrome 上发现了一个还不错的工具 Katalon Recorder,有录制和自动生成 Python 代码的功能。感觉还不错的样子。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 10 条回复 时间 点赞

发这个帖子的意义是什么。。。这个论坛的基本都会把

王十三 回复

报告首长,Katalon Recorder 这个我第一次听说

王十三 回复

我也才刚开始学,你就当成我自己的学习笔记好了

Katalon Recorder 好帅,谢谢推荐

codeskyblue & Katalon Recorder 都好帅,谢谢推荐

又见大牛,不过这篇文章我就不收藏了

好帅!

楼主就写了自己的工作中的使用,这个也需要喷吗

codeskyblue 专栏文章:2018年 终总结 中提及了此贴 02月18日 10:26
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册