0

Cannot click on the form button but can see it on screen. I can see the button but for some reason cannot click on it, the button is definitely in view in the middle of the screen. Tried, xpath, id, class etc. There seems to be a button above it that is hidden with the same id also. The html is included here also. Not sure what I am missing. Thanks

=== RESTART: C:\ffox_Data_Source_SCCM.py ===
Traceback (most recent call last):
  File "C:\Selenium\ffox_Data_Source_SCCM.py", line 67, in <module>
    import_btn.click()
  File "C:\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 628, in _execute
    return self._parent.execute(command, params)
  File "C:\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 320, in execute
    self.error_handler.check_response(response)
  File "C:\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element <button id="import_button" class="web" name="import_button" type="submit"> could not be scrolled into view

### CODE ###
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.action_chains import ActionChains

base_url =  "xxx"

driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get(base_url)
username = driver.find_element_by_id("userNameInput")
username.send_keys("xxx")

time.sleep(1)

password = driver.find_element_by_id("passwordInput")
password.send_keys("xxx")
password.send_keys(Keys.RETURN)

time.sleep(6)

driver.implicitly_wait(5)

createnew = driver.find_element_by_id("filter")
createnew.send_keys("sys_data_source.list")
time.sleep(2)
createnew.send_keys(Keys.RETURN)
time.sleep(1)

driver.switch_to_frame("gsft_main")
time.sleep(1)

name_field = element = driver.find_element(By.XPATH, '/html/body/div[1]/div[1]/span/div/div[5]/table/tbody/tr/td/div/table/thead/tr[2]/td[3]/div/div/div/input')
name_field.send_keys("SCCM 2012 v2")
name_field.send_keys(Keys.RETURN)
time.sleep(1)

comp_identity = driver.find_element(By.XPATH, '//a[contains(text() , "SCCM 2012 v2 Computer Identity")]')
comp_identity.click()
time.sleep(3)

test_load = driver.find_element(By.XPATH, '//a[contains(text() , "Test Load 20 Records")]')
test_load.click()
time.sleep(10)

run_transform = driver.find_element(By.XPATH, '//a[contains(text() , "Run Transform")]')
run_transform.click()
time.sleep(3)

import_btn = driver.find_element(By.XPATH, '//*[@id="import_button"]')
import_btn.click()
time.sleep(1)

### HTML ####

<form action="ui_page_process.do?sys_id=d84d17080af04cc80091cff5048b6f40" id="form.d84d17080af04cc80091cff5048b6f40" method="POST">
   <input name="sysparm_ck" id="sysparm_ck" type="hidden" value="88fc0b14db33d780dd62d7795e96193fb827f686fb649455da15cfd760143730135ac52f">
   <link rel="stylesheet" href="styles/heisenberg/heisenberg_all.css">
   <nav class="navbar navbar-default" role="navigation">
      <div class="container-fluid">
         <div class="navbar-header">
            <span class="btn btn-default icon-chevron-left navbar-btn" onclick="back();"></span>
            <h1 style="display:inline-block;" class="navbar-title">Specify Import set and Transform map</h1>
         </div>
      </div>
   </nav>
   <div style="margin-left: 20px; padding-bottom: 20px; padding-right: 20px;" name="run_transform_table" id="run_transform_table">
      <div style="padding-top:20px;padding-bottom:20px;">
         <table style="width:100%;">
            <tbody>
               <tr id="map_select">
                  <td>
                  </td>
               </tr>
            </tbody>
         </table>
      </div>
      <div><button class="web" name="import_button" id="import_button" style="display:none;" type="submit" onclick="onSubmit();" classname="web">Transform</button><button class="btn btn-primary" name="import_button" id="import_button" type="submit" onclick="onSubmit();">Transform</button><span id="loading" name="loading" style="display: none"><img src="images/loading_anim2.gifx" alt="Transforming..."><strong>Transforming...</strong></span></div>
   </div>
</form>
<input name="sysparm_ck" id="sysparm_ck" type="hidden" value="88fc0b14db33d780dd62d7795e96193fb827f686fb649455da15cfd760143730135ac52f">
<link rel="stylesheet" href="styles/heisenberg/heisenberg_all.css">
<nav class="navbar navbar-default" role="navigation">
   <div class="container-fluid">
      <div class="navbar-header">
         <span class="btn btn-default icon-chevron-left navbar-btn" onclick="back();"></span>
         <h1 style="display:inline-block;" class="navbar-title">Specify Import set and Transform map</h1>
      </div>
   </div>
</nav>
<script>function back() {
   window.history.back();
   }
</script>
<div style="display:none;" class="notification notification-info" id="info_message"><span id="info_message_text">1533405277173</span><button data-dismiss="alert" class="btn-icon close icon-cross"><span class="sr-only">Close</span></button></div>
<div style="display:none;" class="notification notification-warning" id="warning_message"><span id="warning_message_text">1533405277173</span><button data-dismiss="alert" class="btn-icon close icon-cross"><span class="sr-only">Close</span></button></div>
<div style="margin-left: 20px; padding-bottom: 20px; padding-right: 20px;" name="run_transform_table" id="run_transform_table">
   <div class="form-group is-required" id="importset" style="overflow:hidden;padding-top:20px;">
      <label class="col-sm-2 control-label" for="import_set" style="text-align:right;"><span class="required-marker"></span>Import set</label>
      <span class="col-sm-4">
         <div class="select2-container form-control sn-select-basic required" id="s2id_import_set">
            <a href="javascript:void(0)" class="select2-choice" tabindex="-1">   <span class="select2-chosen" id="select2-chosen-1">ISET000238110 - imp_sccm2012v2_computer_id (2018-08-04 17:54:53)</span><abbr class="select2-search-choice-close"></abbr>   <span class="select2-arrow" role="presentation"><b role="presentation"></b></span></a><label for="s2id_autogen1" class="select2-offscreen">Import set</label><input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-1" id="s2id_autogen1">
            <div class="select2-drop select2-display-none select2-with-searchbox">
               <div class="select2-search">       <label for="s2id_autogen1_search" class="select2-offscreen">Import set</label>       <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="select2-input" role="combobox" aria-expanded="true" aria-autocomplete="list" aria-owns="select2-results-1" id="s2id_autogen1_search" placeholder="">   </div>
               <ul class="select2-results" role="listbox" id="select2-results-1">   </ul>
            </div>
         </div>
      </span>
   </div>
   <div style="padding-top:20px;padding-bottom:20px;">
      <table style="width:100%;">
         <tbody>
            <tr id="map_select">
               <td>
                  <script language="JavaScript" src="scripts/classes/GwtWindowList.jsx?v=05-10-2018_1459"></script><script language="JavaScript" src="scripts/classes/GwtSelectTable.jsx?v=05-10-2018_1459"></script><script>function map_select_sb_populate(leftzone, rightzone) {
                     // do nothing, we are populating the zones manually
                     }
                  </script>
                  <table id="map_select_sb_tbl" border="0" cellspacing="0" cellpadding="0" width="100%">
                     <tbody>
                        <tr>
                           <td align="center">Available maps</td>
                        </tr>
                        <tr>
                           <td width="40%" style="vertical-align:top; border:1px solid #999;" dropzone="true">
                              <div style="height: 200px; width: 100%; overflow: auto; border: 0px solid; position: relative;" id="map_select_sb_left" dropzone="true" onclick="map_select_sb_left_onclick();" readonly="false" unique="true">
                                 <div style="width: 100%; height: 0px;"></div>
                              </div>
                              <script>function map_select_sb_left_onclick() {
                                 ;
                                 }
                              </script>
                           </td>
                           <td width="20%" align="center" style="vertical-align:middle;">
                              <table cellspacing="3" cellpadding="0" border="0" width="100%">
                                 <tbody>
                                    <tr id="map_select_sb_move_right_text">
                                       <td align="center">Add</td>
                                    </tr>
                                    <tr id="map_select_sb_move_right_button">
                                       <td align="center"><a class="btn btn-default icon-chevron-right" style="margin-top: 5px; width:32px; height:32px;" onclick="map_select_sb_moveLeftToRight();"><span class="sr-only">Add</span></a></td>
                                    </tr>
                                 </tbody>
                              </table>
                           </td>
                           <td width="40%" style="vertical-align:top; border:1px solid #999;" dropzone="true">
                              <div style="height: 200px; width: 100%; overflow: auto; border: 0px; position: relative;" id="map_select_sb_right" dropzone="true" onclick="map_select_sb_right_onclick();" readonly="false" unique="false">
                                 <div id="map_select_sb_left_windowList_0" dragpart="map_select_sb_left_windowList_0" class="drag_section_part selected" style="position: relative; z-index: 1; left: 0px; top: 0px;">
                                    <table role="presentation" id="window.map_select_sb_left_windowList_0" class="gwt_window_list_window" cellspacing="0" cellpadding="0" style="padding: 0px; width: 100%; height: 20px;">
                                       <tbody>
                                          <tr style="vertical-align: top;">
                                             <td>
                                                <table class="drag_section_header_active" role="presentation" style="width: 100%; cursor: move;">
                                                   <tbody>
                                                      <tr>
                                                         <td style="display: none; top: 0px; left: 0px; vertical-align: top; white-space: nowrap;"></td>
                                                      </tr>
                                                   </tbody>
                                                </table>
                                             </td>
                                          </tr>
                                          <tr style="height: 100%; vertical-align: top; display: none;">
                                             <td><span id="body_map_select_sb_left_windowList_0" class="widget_body" style="overflow: auto; font-weight: normal; padding: 0px; width: 100%;"></span></td>
                                          </tr>
                                       </tbody>
                                    </table>
                                 </div>
                                 <div style="width: 100%; height: 0px;"></div>
                              </div>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </td>
            </tr>
         </tbody>
      </table>
   </div>
   <div><button class="web" name="import_button" id="import_button" style="display:none;" type="submit" onclick="onSubmit();" classname="web">Transform</button><button class="btn btn-primary" name="import_button" id="import_button" type="submit" onclick="onSubmit();">Transform</button><span id="loading" name="loading" style="display: none"><img src="images/loading_anim2.gifx" alt="Transforming..."><strong>Transforming...</strong></span></div>
</div>
<div class="form-group is-required" id="importset" style="overflow:hidden;padding-top:20px;">
   <label class="col-sm-2 control-label" for="import_set" style="text-align:right;"><span class="required-marker"></span>Import set</label>
   <span class="col-sm-4">
      <div class="select2-container form-control sn-select-basic required" id="s2id_import_set">
         <a href="javascript:void(0)" class="select2-choice" tabindex="-1">   <span class="select2-chosen" id="select2-chosen-1">ISET000238110 - imp_sccm2012v2_computer_id (2018-08-04 17:54:53)</span><abbr class="select2-search-choice-close"></abbr>   <span class="select2-arrow" role="presentation"><b role="presentation"></b></span></a><label for="s2id_autogen1" class="select2-offscreen">Import set</label><input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-1" id="s2id_autogen1">
         <div class="select2-drop select2-display-none select2-with-searchbox">
            <div class="select2-search">       <label for="s2id_autogen1_search" class="select2-offscreen">Import set</label>       <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="select2-input" role="combobox" aria-expanded="true" aria-autocomplete="list" aria-owns="select2-results-1" id="s2id_autogen1_search" placeholder="">   </div>
            <ul class="select2-results" role="listbox" id="select2-results-1">   </ul>
         </div>
      </div>
   </span>
</div>
<div style="padding-top:20px;padding-bottom:20px;">
   <table style="width:100%;">
      <tbody>
         <tr id="map_select">
            <td>
               <script language="JavaScript" src="scripts/classes/GwtWindowList.jsx?v=05-10-2018_1459"></script><script language="JavaScript" src="scripts/classes/GwtSelectTable.jsx?v=05-10-2018_1459"></script><script>function map_select_sb_populate(leftzone, rightzone) {
                  // do nothing, we are populating the zones manually
                  }
               </script>
               <table id="map_select_sb_tbl" border="0" cellspacing="0" cellpadding="0" width="100%">
                  <tbody>
                     <tr>
                        <td align="center">Available maps</td>
                     </tr>
                     <tr>
                        <td width="40%" style="vertical-align:top; border:1px solid #999;" dropzone="true">
                           <div style="height: 200px; width: 100%; overflow: auto; border: 0px solid; position: relative;" id="map_select_sb_left" dropzone="true" onclick="map_select_sb_left_onclick();" readonly="false" unique="true">
                              <div style="width: 100%; height: 0px;"></div>
                           </div>
                           <script>function map_select_sb_left_onclick() {
                              ;
                              }
                           </script>
                        </td>
                        <td width="20%" align="center" style="vertical-align:middle;">
                           <table cellspacing="3" cellpadding="0" border="0" width="100%">
                              <tbody>
                                 <tr id="map_select_sb_move_right_text">
                                    <td align="center">Add</td>
                                 </tr>
                              </tbody>
                           </table>
                        </td>
                        <td width="40%" style="vertical-align:top; border:1px solid #999;" dropzone="true">
                           <div style="height: 200px; width: 100%; overflow: auto; border: 0px; position: relative;" id="map_select_sb_right" dropzone="true" onclick="map_select_sb_right_onclick();" readonly="false" unique="false">
                              <div id="map_select_sb_left_windowList_0" dragpart="map_select_sb_left_windowList_0" class="drag_section_part selected" style="position: relative; z-index: 1; left: 0px; top: 0px;">
                                 <table role="presentation" id="window.map_select_sb_left_windowList_0" class="gwt_window_list_window" cellspacing="0" cellpadding="0" style="padding: 0px; width: 100%; height: 20px;">
                                    <tbody>
                                       <tr style="vertical-align: top;">
                                          <td>
                                             <table class="drag_section_header_active" role="presentation" style="width: 100%; cursor: move;">
                                                <tbody>
                                                   <tr>
                                                      <td style="display: none; top: 0px; left: 0px; vertical-align: top; white-space: nowrap;"></td>
                                                   </tr>
                                                </tbody>
                                             </table>
                                          </td>
                                       </tr>
                                       <tr style="height: 100%; vertical-align: top; display: none;">
                                          <td><span id="body_map_select_sb_left_windowList_0" class="widget_body" style="overflow: auto; font-weight: normal; padding: 0px; width: 100%;"></span></td>
                                       </tr>
                                    </tbody>
                                 </table>
                              </div>
                              <div style="width: 100%; height: 0px;"></div>
                           </div>
                           <script>function map_select_sb_right_onclick() {
                              ;
                              }
                           </script>
                        </td>
                     </tr>
                  </tbody>
               </table>
            </td>
         </tr>
      </tbody>
   </table>
</div>
<div><button class="web" name="import_button" id="import_button" style="display:none;" type="submit" onclick="onSubmit();" classname="web">Transform</button><button class="btn btn-primary" name="import_button" id="import_button" type="submit" onclick="onSubmit();">Transform</button><span id="loading" name="loading" style="display: none"><img src="images/loading_anim2.gifx" alt="Transforming..."><strong>Transforming...</strong></span></div>
10
  • try adding waits for the element Commented Aug 3, 2018 at 19:39
  • like implicit wait or something? Commented Aug 3, 2018 at 20:47
  • please share the html code and point which element is raising that exception Commented Aug 3, 2018 at 20:48
  • @anfield, use explicit wait to wait for the element to be clickable Commented Aug 3, 2018 at 20:48
  • It sounds like you have the wrong locator for the visible element or the locator you are using is finding more than one element, the first of which is not visible. Posting a link to the page would help a lot or at least the relevant HTML. Commented Aug 3, 2018 at 20:54

1 Answer 1

2

This link helped - WebDriverException: Message: TypeError: rect is undefined

There were two elements with the same xpath and id so i had to use the below code to click on the second one  

import_btn = driver.find_elements(By.XPATH, '//*[@id="import_button"]')[1]  
hov = ActionChains(driver).move_to_element(import_btn)  
time.sleep(6)  
hov.click()  
hov.perform()  
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.