2016-07-09 3 views
0

if else이 셀레늄과 파이썬을 사용하지 않는 이유를 이해하려고합니다. 나는 여러 가지 변형을 시도했지만, 이것이 작동하고 완강하게, 어쩌면 맹목적으로, 계속 돌아올 것으로 믿습니다.셀레늄과 파이썬 사용 If 문

예 :

if (self.driver.find_element_by_class_name('product')).text == "FEATURED PRODUCTS": 
     print "\nHome Pass" 
    else: 
     print "\nHome Fail" 

이 아니라

if self.driver.find_element_by_class_name("product-teaser-list").text in "Featured Products": 

각 실행 Fail 주장을 리턴하고 사용할 때, 아래의 .text이 발견을 시도했다. 그래서이 방법으로 텍스트가 발견됩니다.

assert "FEATURED PRODUCTS" in self.driver.find_element_by_class_name('product').text 
+3

'=='는'in'과 비교하여 다른 퀘스트입니다 - 후자는 이전 정확한 일치와 같은 부분 문자열입니다 ... – Dilettant

+0

'=='를'in'으로 바꿉니다. – cdarke

+0

감사합니다 @Dilettant와 @cdarke 나는 그것을 시도하고'fail'도 리턴합니다. – wildshroom

답변

0

다음 코드를 사용해보십시오.

if "FEATURED PRODUCTS" in self.driver.find_element_by_class_name('product').text 

이것이 작동하지 않는 경우 디버깅 해보십시오. 뭔가 공백이 문제를 만듭니다. 그러나 assert 문이 통과되면 다음과 같이 작동해야합니다.

+0

Worked. 오직':'로 메소드를 닫을 필요가있다. – wildshroom