selenium|selenium 操作过程中,元素标红高亮的两种实现方式
在使用selenium时,动作元素标红高亮,在定位问题时相当好用,有以下二种方法可以实现
一、使用js将元素属性修改
这也是网上大部分的实现方式,但有时候会有点小问题,代码如下:
只写其实某一段函数 ......def apply_style(self, element): self.driver.execute_script("arguments[0].setAttribute('style', arguments[1]); ", element)def set_xxx(self,element): original_style = element.get_attribute('style') self.apply_style(element, "background:green; border:2px solid red; ") screen_shot = self.driver.get_screenshot_as_png()#比如这里截图动作 self.apply_style(element, original_style)# 截图完了还原元素属性
二、比较复杂了,但相对稳定点
基本思路是:先截图,然后再拿到元素的位置,再使用pillow模块对图进行处理
【selenium|selenium 操作过程中,元素标红高亮的两种实现方式】拿图的坐标,之前我写过一个文章中有说明:
先将图存下,然后读取 img = Image.open(BytesIO(png_data)) brush = ImageDraw.Draw(img) imgelement = driver.find_element_by_xpath('//img[@src="https://www.it610.com/article/rand!loginRand.action"]') location = imgelement.location#获取元素x,y轴坐标 size=imgelement.size#获取元素的长宽 blank_height = 150rect = (0, blank_height, location.width, size.height) canvas = Image.new('RGB', (width, height), (255, 255, 255)) out_data = https://www.it610.com/article/BytesIO() canvas.save(out_data, format('PNG'))
转载于:https://www.cnblogs.com/landhu/p/9946114.html
推荐阅读
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- 在线版的迅捷思维导图怎么操作()
- 操作系统|[译]从内部了解现代浏览器(1)
- 数据库总结语句
- JS常见数组操作补充
- 7、前端--jQuery简介、基本选择器、基本筛选器、属性选择器、表单选择器、筛选器方法、节点操作、绑定事件
- 会玩才有未来
- 炒股知识(超级短线操作的秘籍|炒股知识:超级短线操作的秘籍 玩转股市)
- 1.2序列通用操作