2017-12-14 7 views
0

https://www.morele.net/login에서 "Utwórz konto"를 어떻게 클릭 할 수 있습니까? "a href"링크없이 어떻게 클릭 할 수 있습니까? [Selenium + Python]

내가 시도 :

link_registration = driver.find_element_by_class_name("//li[@class = 'el-login-nav register']") 
link_registration.click() 

하지만 오류가 얻을 :

selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression ".//li[@class = 'el-login-nav register']" is invalid: InvalidSelectorError: './/li[@class = 'el-login-nav register']' is not a valid selector: ".//li[@class = 'el-login-nav register']"

+0

당신은 xpath를 전달하지만'find_element_by_class_name'을 사용하고 있습니다. 'el-logic-nav register '를 그냥 넘길 수 있습니다. –

답변

0

당신은 "클래스 별"로케이터에 XPath 식을 통과하려고하지 않습니다 - 실패 당연합니다.

내가 대신 CSS 선택기를 사용합니다 :

register = driver.find_element_by_css_selector(".autorization-form .register") 
register.click() 

.autorization-form .registerautorization-form 클래스를 가지는 요소 내에 (어떤 깊이 수준에서) 어딘가에 register 클래스를 갖는 요소를 일치합니다. 여기서 공간은 부모 - 자식 관계을 의미하지만 하위는 상위 수준에있을 수 있습니다.

0

find_element_by_class_name() 명령을 사용했지만 xpath로 전달 되었기 때문에 오류가 발생했습니다. find_elements_by_xpath() 또는 다른 로케이터 기능을 사용해야합니다. 둘 중 하나가 작동해야합니다 :

driver.find_element_by_xpath("//li[@class = 'el-login-nav register']"); 
driver.find_element_by_css_selector("li.register") 
+0

흠, 여기에 오류가 있습니다 : "selenium.common.exceptions.ElementNotInteractableException : 메시지 : 요소가 표시되지 않습니다." –