Selenium 高亮显示操作元素
一、代码
使用 https://www.cnblogs.com/TSmagic/p/16595168.html 此篇代码即可
二、编辑 test_ys_case.py 文件
# coding: utf-8 import unittest from time import sleep from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class TS_baidu(unittest.TestCase): """百度搜索 Demo""" @classmethod def setUpClass(cls): cls.imgs = [] cls.driver = webdriver.Chrome() cls.driver.maximize_window() cls.wait = WebDriverWait(cls.driver, 10) @classmethod def tearDownClass(cls): cls.driver.quit() def get_screenshot(self): self.imgs.append(self.driver.get_screenshot_as_base64()) return True def highLightElement(self, element, colors=("black", "red"), border_px=3, pause=0.8): # 简单闪烁高亮:黑->红->恢复 for color in colors: self.driver.execute_script( "arguments[0].setAttribute('style', arguments[1]);", element, f"border: {border_px}px solid {color};" ) sleep(pause) self.driver.execute_script("arguments[0].setAttribute('style', arguments[1]);", element, "") def test_a_opurl(self): """打开网址""" try: self.driver.get("https://www.baidu.com") self.wait.until(EC.visibility_of_element_located((By.ID, "su"))) print("打开网址成功") self.get_screenshot() except Exception as e: print(f"打开网址失败: {e}") self.get_screenshot() self.fail(e) def test_b_input(self): """输入搜索内容""" try: kw = self.wait.until(EC.visibility_of_element_located((By.ID, "kw"))) kw.send_keys("请看右侧的 → 按钮边框") print("输入搜索内容成功") self.get_screenshot() except Exception as e: print(f"输入搜索内容失败: {e}") self.get_screenshot() self.fail(e) def test_c_clbutton(self): """点击百度一下按钮""" try: btn = self.wait.until(EC.element_to_be_clickable((By.ID, "su"))) self.highLightElement(btn) btn.click() sleep(2) # 可换成等待结果列表可见 print("点击按钮成功") self.get_screenshot() except Exception as e: print(f"点击按钮失败: {e}") self.get_screenshot() self.fail(e) if __name__ == "__main__": unittest.main()
三、效果

to be continued...

浙公网安备 33010602011771号