1

I had a issue while automating a web page whose solution I found here. In the answer by me the second code snippet which is

#Assume that at this point you are on the page where you need to click on a Web Element to      trigger native OS window/dialog box

def _action_on_trigger_element(_element):
    _element.click()

trigger_element = driver.find_element_by_id('ID of the Web Element which triggers the window')
th = threading.Thread(target = _action_on_trigger_element, args = [trigger_element])  #Thread is    created here to call private func to click on Save button
th.start()                          #Thread starts execution here
time.sleep(1)                       #Simple Thread Synchronization handle this case.          

#Call WindowFinder Class
win = WindowFinder()
win.find_window_wildcard(".*Save As.*") 
win.set_foreground()
path = "D:\\File.txt"            #Path of the file you want to Save 
ent = "{ENTER}"                  #Enter key stroke.
SendKeys.SendKeys(path)          #Use SendKeys to send path string to Save As dialog
SendKeys.SendKeys(ent)           #Use SendKeys to send ENTER key stroke to Save As dialog

#At this point the native OS window is interacted with and closed after passing a key stroke ENTER.
# Go forward with what ever your Automation code is doing after this point

When I run the code from IDE Aptana Studio3 the code runs fine and my threads invokes the private function _action_on_trigger_element(_element) but when I am running the same code through command line invoking the Python script the thread does not invokes the function which is its target.

I checked the thread is still alive. Any explanation for this and workaround are appreciated.

Thanks

Community
  • 1
  • 1
abhi
  • 3,476
  • 5
  • 41
  • 58

0 Answers0