don't stop believing

element highlight로 확인해 보기 본문

Testing Automation/Selenium

element highlight로 확인해 보기

Tongchun 2018. 3. 22. 11:06

Selenium Code를 작성할때 element를 잘 찾았는지 확인해 보고 싶을때가 있습니다.

SikuliX를 배울때는 highlight 함수가 있어 편하게 확인했는데 Selenium에서는 함수를 하나 만들어 줘야 합니다.


selenium의 webdriver 클레스에 execute_script() 함수가 있습니다. 이걸 사용하면 현재 열려진 화면에 css를 수정하거나 할 수 있습니다.

함수는 아래와 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def highlight(element):
# element driver .
driver = element._parent
# highlight() apply_style() .
def apply_style(s):
# execute_script() element css .
driver.execute_script("arguments[0].setAttribute('style', arguments[1]);", element, s)
# .
original_style = element.get_attribute('style')
# apply_style css .
# , .
apply_style("background: yellow; border: 2px solid red;")
# 2 .
time.sleep(2)
# .
apply_style(original_style)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


위 highlight 함수를 기본 스크립트에 적용해 봅시다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# -*- coding: utf-8 -*-
import time
from selenium import webdriver
# selenium hightlight() .
def highlight(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(2)
apply_style(original_style)
# Chrome WebDriver Chrome .
driver = webdriver.Chrome('./chromedriver')
# www.google.com .
driver.get("www.google.com")
time.sleep(2)
# html element q . ()
inputElement = driver.find_element_by_name("q")
# htghlight() inputElement .
highlight(inputElement)
time.sleep(2)
# 'www.ngle.co.kr' .
inputElement.send_keys("www.ngle.co.kr")
time.sleep(2)
# .
inputElement.submit()
time.sleep(2)
# 'THE BEST BUSINESS PLAN' .
continue_link = driver.find_element_by_partial_link_text('THE BEST BUSINESS PLAN')
# htghlight() continue_link .
highlight(continue_link)
time.sleep(2)
# .
continue_link.click()
time.sleep(5)
# WebDriver . ( )
driver.quit()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

highlight 함수를 만들어서 element를 확인하는 방법이었습니다.


Comments