2016-08-07 7 views
3

を発生させます。複数の異なるセレクタを試してみましたが、暗黙の待機を試みましたが、要素を見つけることができません。セレン - ログインは、私は、サイトにログインするセレンwebdriverをを使用していますElementNotVisibleException

from selenium import webdriver 
    from selenium.webdriver.common.by import By 

    browser = webdriver.Firefox() 
    url = "https://www.example.com" 
    login_page = browser.get(url) 

    username = browser.find_element_by_id("Email") 
    # Also tried: 
    # username = browser.find_element_by_xpath('//*[@id="Email"]') 
    # username = browser.find_element_by_css_selector('#Email') 
    username.send_keys("email") 

これはエラーメッセージ

Traceback (most recent call last): 
    File "seleniumloginpi.py", line 12, in <module> 
    email.send_keys('email') 
    File "/Users/greg/anaconda/envs/trade/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 320, in send_keys 
    self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': keys_to_typing(value)}) 
    File "/Users/greg/anaconda/envs/trade/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 461, in _execute 
    return self._parent.execute(command, params) 
    File "/Users/greg/anaconda/envs/trade/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute 
    self.error_handler.check_response(response) 
    File "/Users/greg/anaconda/envs/trade/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with 
Stacktrace: 
    at fxdriver.preconditions.visible (file:///var/folders/2h/3nnr94wx0f9g9bjcl0ks_g1w0000gn/T/tmpfAR5E7/extensions/[email protected]/components/command-processor.js:10092) 
    at DelayedCommand.prototype.checkPreconditions_ (file:///var/folders/2h/3nnr94wx0f9g9bjcl0ks_g1w0000gn/T/tmpfAR5E7/extensions/[email protected]/components/command-processor.js:12644) 
    at DelayedCommand.prototype.executeInternal_/h (file:///var/folders/2h/3nnr94wx0f9g9bjcl0ks_g1w0000gn/T/tmpfAR5E7/extensions/[email protected]/components/command-processor.js:12661) 
    at DelayedCommand.prototype.executeInternal_ (file:///var/folders/2h/3nnr94wx0f9g9bjcl0ks_g1w0000gn/T/tmpfAR5E7/extensions/[email protected]/components/command-processor.js:12666) 
    at DelayedCommand.prototype.execute/< (file:///var/folders/2h/3nnr94wx0f9g9bjcl0ks_g1w0000gn/T/tmpfAR5E7/extensions/[email protected]/components/command-processor.js:12608) 

任意の助けを大幅にHTMLここ

<div class="form-group"> 
    <label for="Email">Email address</label> 
    <div class="input-group" style="width: 100%"> 
     <input class="form-control email" data-val="true" data-val-length="Maximum length is 50" data-val-length-max="50" data-val-regex="Provided email address is not valid" data-val-regex-pattern="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$" data-val-required="Email is required" id="Email" name="Email" type="email" value=""><br> 
     <span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span> 
    </div> 
</div> 

理解されるです。

+0

あなたは、ID、メールで一つだけの要素があることを確認しています? –

答えて

1

実際にあなたが要素、send_keysに問題があることを突き止めるされ、ここでは要素の不可視による電子メールの入力に値を設定することができませんでした。しかし、提供されたHTMLに見られるように、電子メール入力要素にスタイル属性のプロパティは存在しません。

が同じIDを持つ複数の要素があり、あなたが他の要素との相互作用している可能性があり、あなたは以下のように、いくつかの異なるロケータを試してみてください: -

username = browser.find_element_by_css_selector('div.input-group input#Email.form-control.email') 
username.send_keys("email") 

またはIDを持つすべての要素を検索してみてくださいEmailと以下のように目に見える要素にsend_keys()を実行します。

usernames = browser.find_elements_by_id('Email') 

for username in usernames: 
    if username.is_displayed(): 
     username.send_keys("email") 
     break 
+0

idが "Email"の2番目の要素がありました。 cssセレクタを使って解決できませんでしたが、ループしました。ありがとうございました!!あなたはユニークなロケータを提供しようとする場合も、ループのない – gtownrower

+0

@gtownrowerが働くだろう、私は、次の/この 'xpath'は' .//ラベル[テキスト()=「メールアドレス」]ユニークかもしれないと思う::入力[@id = 'Email'] 'または'(.//input[id = 'Email'])[2] '.. –

関連する問題