2017-10-23 15 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

にSafariのドライバのバージョンを更新し、常に目に見える要素であり、あるいはそれは、相互作用のいくつかの種類から示されていますか?インタラクションから表示されている場合は、そのインタラクションが行われる前にその要素にアクセスしようとすると早すぎる可能性があります。 – Huangism

+0

Safari 11.0.2と同じ問題があります。スーパーイライラ。どのように解決しましたか? –

+0

これまでに解決できません – user3761308

答えて

1

は、Safariのドライバが含まれていませんが、あなたのセレンバージョン2.48.0 Selenium version 2.48.0をダウングレードする必要があります。またはOSをmacOS Sierra Read it hereにアップデートしてください。

または10.0.2ベータ2

+0

「またはOSをmacOS Sierraにアップデートする」私はSierraでこれをテストしています。だからそれはうまくいかない? Sierraの – user3761308

+0

にSafariのバージョンが表示され、10.0.2ベータ版ではありません。すべてのアップデートがインストールされていることを確認してください。 – user8672807

+0

これはHigh Sierraにあります。 – user3761308

関連する問題