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
Post a Comment