资讯动态

UI 自动化踩坑记:一次被百度安全验证拦下的测试

发布时间:2026/9/29 9:56:52 来源:尧图企业网站定制
报错在进行《实验案例1百度搜索软件测试》时发现代码跑完assert 软件测试 in driver.title 测试报错断言期望页面标题里包含“软件测试”。实际结果标题并没有包含软件测试即没有成功跳转调试反复确认代码编写没有错误在AI的协助下写了debug测试文件from selenium import webdriver from selenium.webdriver.common.by import By import time d webdriver.Edge() d.get(https://www.baidu.com) d.find_element(By.ID, chat-textarea).send_keys(软件测试) d.find_element(By.ID, chat-submit-button).click() time.sleep(3) print(title:, d.title) print(url:, d.current_url) print(窗口数:, len(d.window_handles)) print(h3 个数:, len(d.find_elements(By.XPATH, //h3))) print(源码含关键词:, 软件测试 in d.page_source) input(看完页面按回车关闭) # 让浏览器停住人眼看清到底发生了什么 d.quit()运行结果如图所示发现原因运行结果title百度安全验证原来我的搜索已经成功进行了但百度把我拦在了安全验证页。百度检测到我的浏览器是自动化工具Selenium于是弹出验证码要求手动验证。这就是为什么标题里没有软件测试——因为根本没到搜索结果页被拦在验证码页面了。解决办法在search()方法中添加强制等待用于手动过验证代码如下所示def search(self,keyword): # # river.find_element(By.ID,chat-textarea).send_keys(软件测试) # self.driver.find_element(*self.SEARCH_INPUT).send_keys(keyword) self.input_text(self.SEARCH_INPUT,keyword) # # driver.find_element(By.ID,chat-submit-button).click() # self.driver.find_element(*self.SEARCH_BUTTON).click() self.click(self.SEARCH_BUTTON) # 暂停 40 秒手动过验证码 import time time.sleep(40) # #点击后切换到新窗口 # self.switch_to_new_window() return self

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑