Python file dialog freezing issue while using selenium












-1















In order to print stuff on campus, I need to login to the webpage and submit the printing job manually on a browser, but I wanted to submit a job locally. So I wrote a small python script that uses Selenium to automate print job submission. I've verified that it works, but there's one thing that bugs me. Even after I select a file to print, the file dialog stays there until the actual code runs to the end.



The structure of the code is like the following.

1. Enter information on terminal (username, pw, which printer to use, how many copies, etc.).

2. Call tkinter.Tk().withdraw() to select a file (after selecting a file, "Submitting a print job..." is printed, as shown on the screenshot)

3. Do the actual Selenium job using information I collected above to submit a job



How can I make that file dialog disappear as soon as I select the file? Is it an ascyncio problem?



enter image description here










share|improve this question























  • Please read why a screenshot of HTML or code or error is a bad idea. Consider updating the Question with formatted text based relevant HTML, code trials and error stack trace.

    – DebanjanB
    Nov 22 '18 at 10:47











  • @DebanjanB First of all, thank you for your reply. I get your point why the screenshot is discouraged, but that screenshot doesn't contain error/code. I was just showing what's happening with the file dialog.

    – hklee93
    Nov 22 '18 at 20:24
















-1















In order to print stuff on campus, I need to login to the webpage and submit the printing job manually on a browser, but I wanted to submit a job locally. So I wrote a small python script that uses Selenium to automate print job submission. I've verified that it works, but there's one thing that bugs me. Even after I select a file to print, the file dialog stays there until the actual code runs to the end.



The structure of the code is like the following.

1. Enter information on terminal (username, pw, which printer to use, how many copies, etc.).

2. Call tkinter.Tk().withdraw() to select a file (after selecting a file, "Submitting a print job..." is printed, as shown on the screenshot)

3. Do the actual Selenium job using information I collected above to submit a job



How can I make that file dialog disappear as soon as I select the file? Is it an ascyncio problem?



enter image description here










share|improve this question























  • Please read why a screenshot of HTML or code or error is a bad idea. Consider updating the Question with formatted text based relevant HTML, code trials and error stack trace.

    – DebanjanB
    Nov 22 '18 at 10:47











  • @DebanjanB First of all, thank you for your reply. I get your point why the screenshot is discouraged, but that screenshot doesn't contain error/code. I was just showing what's happening with the file dialog.

    – hklee93
    Nov 22 '18 at 20:24














-1












-1








-1








In order to print stuff on campus, I need to login to the webpage and submit the printing job manually on a browser, but I wanted to submit a job locally. So I wrote a small python script that uses Selenium to automate print job submission. I've verified that it works, but there's one thing that bugs me. Even after I select a file to print, the file dialog stays there until the actual code runs to the end.



The structure of the code is like the following.

1. Enter information on terminal (username, pw, which printer to use, how many copies, etc.).

2. Call tkinter.Tk().withdraw() to select a file (after selecting a file, "Submitting a print job..." is printed, as shown on the screenshot)

3. Do the actual Selenium job using information I collected above to submit a job



How can I make that file dialog disappear as soon as I select the file? Is it an ascyncio problem?



enter image description here










share|improve this question














In order to print stuff on campus, I need to login to the webpage and submit the printing job manually on a browser, but I wanted to submit a job locally. So I wrote a small python script that uses Selenium to automate print job submission. I've verified that it works, but there's one thing that bugs me. Even after I select a file to print, the file dialog stays there until the actual code runs to the end.



The structure of the code is like the following.

1. Enter information on terminal (username, pw, which printer to use, how many copies, etc.).

2. Call tkinter.Tk().withdraw() to select a file (after selecting a file, "Submitting a print job..." is printed, as shown on the screenshot)

3. Do the actual Selenium job using information I collected above to submit a job



How can I make that file dialog disappear as soon as I select the file? Is it an ascyncio problem?



enter image description here







python selenium asynchronous tkinter freeze






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 '18 at 10:13









hklee93hklee93

82




82













  • Please read why a screenshot of HTML or code or error is a bad idea. Consider updating the Question with formatted text based relevant HTML, code trials and error stack trace.

    – DebanjanB
    Nov 22 '18 at 10:47











  • @DebanjanB First of all, thank you for your reply. I get your point why the screenshot is discouraged, but that screenshot doesn't contain error/code. I was just showing what's happening with the file dialog.

    – hklee93
    Nov 22 '18 at 20:24



















  • Please read why a screenshot of HTML or code or error is a bad idea. Consider updating the Question with formatted text based relevant HTML, code trials and error stack trace.

    – DebanjanB
    Nov 22 '18 at 10:47











  • @DebanjanB First of all, thank you for your reply. I get your point why the screenshot is discouraged, but that screenshot doesn't contain error/code. I was just showing what's happening with the file dialog.

    – hklee93
    Nov 22 '18 at 20:24

















Please read why a screenshot of HTML or code or error is a bad idea. Consider updating the Question with formatted text based relevant HTML, code trials and error stack trace.

– DebanjanB
Nov 22 '18 at 10:47





Please read why a screenshot of HTML or code or error is a bad idea. Consider updating the Question with formatted text based relevant HTML, code trials and error stack trace.

– DebanjanB
Nov 22 '18 at 10:47













@DebanjanB First of all, thank you for your reply. I get your point why the screenshot is discouraged, but that screenshot doesn't contain error/code. I was just showing what's happening with the file dialog.

– hklee93
Nov 22 '18 at 20:24





@DebanjanB First of all, thank you for your reply. I get your point why the screenshot is discouraged, but that screenshot doesn't contain error/code. I was just showing what's happening with the file dialog.

– hklee93
Nov 22 '18 at 20:24












1 Answer
1






active

oldest

votes


















0














I noticed that many other people were experiencing a similar issue. While many had solved the issue by adding Tk().update() before or after askopenfilename() line, my problem was only gone when Tk().update() line was added both before and after the askopenfilename() line. FYI, I'm running the script on macOS with python 3.7.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53428575%2fpython-file-dialog-freezing-issue-while-using-selenium%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    I noticed that many other people were experiencing a similar issue. While many had solved the issue by adding Tk().update() before or after askopenfilename() line, my problem was only gone when Tk().update() line was added both before and after the askopenfilename() line. FYI, I'm running the script on macOS with python 3.7.






    share|improve this answer




























      0














      I noticed that many other people were experiencing a similar issue. While many had solved the issue by adding Tk().update() before or after askopenfilename() line, my problem was only gone when Tk().update() line was added both before and after the askopenfilename() line. FYI, I'm running the script on macOS with python 3.7.






      share|improve this answer


























        0












        0








        0







        I noticed that many other people were experiencing a similar issue. While many had solved the issue by adding Tk().update() before or after askopenfilename() line, my problem was only gone when Tk().update() line was added both before and after the askopenfilename() line. FYI, I'm running the script on macOS with python 3.7.






        share|improve this answer













        I noticed that many other people were experiencing a similar issue. While many had solved the issue by adding Tk().update() before or after askopenfilename() line, my problem was only gone when Tk().update() line was added both before and after the askopenfilename() line. FYI, I'm running the script on macOS with python 3.7.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 24 '18 at 10:16









        hklee93hklee93

        82




        82
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53428575%2fpython-file-dialog-freezing-issue-while-using-selenium%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            MongoDB - Not Authorized To Execute Command

            How to fix TextFormField cause rebuild widget in Flutter

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith