2012-04-25 3 views
0

저는 python으로 셀렌 테스트를하고 있습니다. 나는 Selenium & Python으로 ID 확인

self.assert_element_present_by_class('Source button', 'cke_8_label', 'cke_label')** 

여기 기능입니다 ....... 나는 다음과 같은 시도

<span class="cke_label" id="cke_8_label">Source</span> 

HTML 코드의 다음 비트와 특정 문제가 ..... 데 ... ......

def assert_element_present_by_class(self, description, id, name): 
    sel = self.selenium 
    try: 
     self.assert_(sel.is_element_present("//" + id + "[contains(@class,'" + name + "')]")) 
     logging.info('PASS: "' + description + '" is present') 
    except Exception: 
     logging.exception('FAIL: "' + description + '" is not present') 

이 나에게 오류를 제공합니다 .......

File "Template_Designer_P37.py", line 293, in assert_element_present_by_class self.assert_(sel.is_element_present("//" + id + "[contains(@class,'" + name + "')]")) File "C:\Python27\lib\unittest\case.py", line 420, in assertTrue raise self.failureException(msg) AssertionError: False is not true

I는 단순히 ID * 강력한 텍스트 *이

내 직감 존재 함을 주장하려고 노력으로, 다른 방법의 몇 가지를 시도 문제는 'ID'

어떤 생각을 둘러싸이다?

+0

이 시도 될 것입니다 + " ')]"))' –

답변

2

잘못된 xpath를 사용하고 태그 이름 대신 id를 삽입하십시오. (`self.assert_ (self.sel.is_element_present "// * [ID = @ '"+ 아이디 + "'와 (@class '포함"+ 이름 : 그래서 올바른 버전은

self.assert_(sel.is_element_present("//*[@id='" + id + "' and contains(@class,'" + name + "')]")) 
+0

'self.sel'이 그 일을 할 것이라고 생각합니다. –

관련 문제