2017-10-23 2 views
1

이 테스트 :셀렌 - ElementNotVisibleException. 요소가 Safari 9.1에는 표시되지만 10.1에는 표시되지 않습니까?

@when('voter clicks "{b}"') 
def step(context, b): 
    context.browser.find_element_by_name(button).click() 

예외가 :

ElementNotVisibleException: Message: An element command 
could not be completed because the element is not visible on the page. (WARNING: The server did not provide any stacktrace information) 

그래서 내가 사파리 9.1에서

print(context.browser.find_element_by_name(button).is_displayed()) 

을 추가, 그것은 True를 반환하지만, 10.1에서 False를 반환합니다.

HTML과 JS가 둘 다 동일 할 때 어떤 이유가있을 수 있습니까?

Safari 10에서 어떻게 작동합니까?

E1 : 대기가 작동하지 않았다 추가 : 요세미티 사파리 (10)에

element = WebDriverWait(context.browser, 10).until(
    EC.presence_of_element_located((By.NAME, b)) 
) 
+0

항상 요소가 표시하거나 사파리 드라이버의 버전을 업데이트는 상호 작용의 어떤 종류에서 표시됩니다? 상호 작용에서 표시되는 경우 해당 상호 작용이 완료되기 전에 요소를 너무 일찍 액세스하려고하므로 요소가 표시되지 않습니다 – Huangism

+0

사파리 11.0.2와 함께 동일한 문제가 있습니다. 슈퍼 초조. 어떻게 그걸 해결 했니? –

+0

지금까지 해결할 수 없음 – user3761308

답변

1

는 사파리 드라이버를 포함되어 있지 않습니다, 당신은 셀레늄 버전 2.48.0 Selenium version 2.48.0를 다운 그레이드해야합니다. 또는 OS를 macOS Sierra Read it here으로 업데이트하십시오.

또는 10.0.2 베타 2

+0

"또는 OS를 macOS Sierra로 업데이트하십시오." 나는 Sierra에서 이것을 테스트 해왔다. 그렇게해서는 안되니? – user3761308

+0

Sierra에서 사파리 버전은 10.0.2 베타 버전이 아닌, 11.2 버전으로 표시되어야합니다. 모든 업데이트가 설치되어 있는지 확인하십시오. – user8672807

+0

High Sierra에 있습니다. 일반 Sierra는 최신으로 10.1을 표시합니다. – user3761308