Selenium例1: Bing搜索

本文介绍了如何使用Python的Selenium库在Chrome浏览器的Bing搜索引擎中进行自动搜索。通过元素定位,找到搜索框和搜索按钮的id,模拟键盘输入和鼠标点击,成功执行搜索‘如何关闭微软小冰’的操作。过程中提到了可能出现的ElementNotInteractableException异常及解决办法,并提供了Web Scraping的入门资料和视频教程链接。
摘要由CSDN通过智能技术生成

本例由Python编写,通过Chrome浏览器,在Bing中搜索“如何关闭微软小冰”。

所以微软小冰怎么关啊,它好烦。--2021/08/18更新:Adblock。


一、元素定位

在Chrome中打开Bing,

右键输入框->inspect,html文档中对应的<input>元素被高亮*,记下它的id="sb_form_q";

同理,定位搜索键,并记录id。

* 注意,不是<form>元素,这个id="sb_form"的元素没有send_keys的方法


二、代码

from selenium import webdriver # 导入浏览器驱动

driver = webdriver.Chrome()
driver.implicitly_wait(10) # 若删去这句,后续可能会出现ElementNotInteractableException;因为页面元素还未加载全

driver.get("https://cn.bing.com")
# element = driver.find_element_by_id("sb_form") # ElementNotInteractableException
element = driver.find_element_by_id("sb_form_q")
element.send_keys("如何关闭微软小冰") # 模拟键盘输入 send_keys
ele = driver.find_element_by_id("sb_form_go")
ele.click() # 鼠标左键单击搜索按钮 

a = input('aaa') # 效果类似断点,无特殊意义
driver.close() # 关闭页面
driver.quit() # 关闭webdriver

搜索完成 ✅

备注:如果每一句都设置一个断点,依次执行,在第11行会ElementNotInteractableException。原因不详。取消掉断点再执行,不会出现问题。


三、参考资料

1. Web Scraping Using Selenium Python, https://iqss.github.io/dss-webscrape/index.html. 这是一份很好的入门资料,内容:从万维网(WWW)基础,爬虫工具选择,到Selenium使用和案例

2. b站松勤软件测试视频,https://www.bilibili.com/video/BV1eb411P7tV?p=6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值