javascript - How can I highlight element on a webpage using Selenium-Python? - Stack Overflow

I have been handed over a existing selenium framework which uses python for scripting. For debugging(&a

I have been handed over a existing selenium framework which uses python for scripting. For debugging(& other) purposes, I would like to highlight the element on which action is being taken currently (input box, link, drop-down etc.)

Though I could find solutions to define a function and calling the function wherever I need to highlight the element(as examples given below), what I need is a solution at the framework level.

  1. Selenium webdriver highlight element before clicking
  2. /

Is it possible to implement any solution at the framework / script level in Python (or any other language which can be integrated with python scripts), so that I don't have to call the functions explicitly.

P.S. I am just beginning to use Python, so excuse me if its a simple/straight forward. Will appreciate if someone can point me to any existing solution or can provide their own solution.

I have been handed over a existing selenium framework which uses python for scripting. For debugging(& other) purposes, I would like to highlight the element on which action is being taken currently (input box, link, drop-down etc.)

Though I could find solutions to define a function and calling the function wherever I need to highlight the element(as examples given below), what I need is a solution at the framework level.

  1. Selenium webdriver highlight element before clicking
  2. https://seleniumwithjavapython.wordpress./selenium-with-python/intermediate-topics/playing-with-javascript-and-javascript-executor/highlighting-a-web-element-on-webpage/

Is it possible to implement any solution at the framework / script level in Python (or any other language which can be integrated with python scripts), so that I don't have to call the functions explicitly.

P.S. I am just beginning to use Python, so excuse me if its a simple/straight forward. Will appreciate if someone can point me to any existing solution or can provide their own solution.

Share Improve this question asked Aug 1, 2017 at 14:12 NikNik 172 silver badges6 bronze badges 4
  • I don't understand the need to highlight the element for debugging. logs should be enough to understand what when wrong. Also the solution which has provided by santosh will slow down your execution. (.3x number of elements) – Gaurang Shah Commented Aug 1, 2017 at 14:36
  • I understand but as I said I am new to Python (done very little programming so far) so highlighting of element makes it easier for me to debug the failure points. I agree, I'll get fortable with debugging using logs after a few months but for now I can only appreciate any solution to my problem. – Nik Commented Aug 1, 2017 at 14:45
  • There is no easy solution for this. either you write wrapper for each and every action for which you want to highlight the element, or before you do any action call this method in your tests manually. either way it's costly, it would be costly when you will have to disable that as well. – Gaurang Shah Commented Aug 2, 2017 at 7:57
  • Thanks @GaurangShah – Nik Commented Aug 4, 2017 at 16:48
Add a ment  | 

1 Answer 1

Reset to default 4

I haven't tried this code, but this should work.

import time

def highlight(element):
 """Highlights (blinks) a Selenium Webdriver element"""
  driver = element._parent
  def apply_style(s):
     driver.execute_script("arguments[0].setAttribute('style', arguments[1]);",element, s)
  original_style = element.get_attribute('style')
  apply_style("background: yellow; border: 2px solid red;")
  time.sleep(.3)
  apply_style(original_style)

Hope this helps. Thanks.

Source - https://gist.github./dariodiaz/3104601

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745168021a4614751.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信