html - python + selenium button in div overlay clickable in testing but not when automated -


<div class="t-window-content t-content" style="overflow: auto; width: 400px; height: 389.4px;">     <div id="frmschtarget">         <form action="/search/searchtypeprename"             method="post" onclick="sys.mvc.asyncform.handleclick(this, new sys.ui.domevent(event));"             onsubmit="sys.mvc.asyncform.handlesubmit(this, new sys.ui.domevent(event), { insertionmode: sys.mvc.insertionmode.replace, onbegin: function.createdelegate(this, prenamelistwindow), onsuccess: function.createdelegate(this, form_onsuccess) });"><input type="hidden" id="namelist"                 name="namelist">             <div style="text-align: left; padding-left: 10px">                 <span style="margin-right: 20px;">         <button id="treeviewbuttoncollapse" name="treeviewbuttoncollapse" onclick="expandcollapsetreeview('namelisttreeview', false); return false;" title="collapse all">             <img src="/content/images/toggle_up.png">         </button>         <button id="treeviewbuttonexpand" name="treeviewbuttonexpand" onclick="expandcollapsetreeview('namelisttreeview', true); return false;" title="expand all">             <img src="/content/images/toggle_down.png">         </button>     </span>             </div>             <div id="divselectnamesarea" style="height: 325px; overflow: auto;">                 "i removed large list here"             </div>             <hr class="popuplinestyle">             <div style="text-align: left; padding-left: 10px">                 <span style="margin-right: 20px;"><input type="checkbox" id="checkbox1" name="selectallprenamestoggle" onclick="selectallornoneintreeview('namelisttreeview', this.checked);">     / none</span>                 <input type="submit" class="t-button" value="done"                     onclick="getnameliststring('namelisttreeview');">             </div>         </form>     </div> </div> 

the above code has been bane of existence week now. trying run webscraper , upon submitting request div overlay appears on page. code snippet above shows how 'done' button used rid of implemented.

in testing able use

buttons = driver.find_elements_by_xpath('//input[contains(@class,"t-button")]') 

to find buttons present , button [5], once automate not work.

i have tried implicit wait following xpath:

//*[@id="frmschtarget"]/form/div[3]/input 

this no-go. please help, have been trying searched through stackoverflow on week already. can't figure out.

// wait 15s before click button debug purpose, in case click button before
// rendered out on page

time.sleep(15)  button_done = driver.find_element_by_css_selector("#frmschtarget input[value='done']")  button_done.click() 

if above code work, remove time.sleep() , run again, if failed, means need wait moment before click it, please use explicit wait replace time.sleep()


Comments

Popular posts from this blog

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -

minify - Minimizing css files -