Selenium/Python - How to click button when is disable? [duplicate]










1
















This question already has an answer here:



  • Element MyElement is not clickable at point (x, y)… Other element would receive the click

    2 answers



I'm having issues clicking on a button It returns the following error message for me:




selenium.common.exceptions.WebDriverException: Message: unknown
error: Element ... is not clickable at point
(1030, 883). Other element would receive the click: (Session info: chrome=70.0.3538.77) (Driver
info: chromedriver=2.43.600210
(68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT
6.1.7601 SP1 x86_64)




Here is the HTML:






<a submit="#invoice_form" id="calculate_button" data-type="json" class="rollover button" data-remote="true" rel="nofollow" data-method="post" href="/invoices/40736/calculate" data-disable-on-click="true"><span>Calculate</span></a>





I'm trying to automate the form and all fields have been filled out, when come to calculate I get that message.



Below is my code:



driver.find_element_by_id("calculate_button").click()









share|improve this question















marked as duplicate by DebanjanB selenium
Users with the  selenium badge can single-handedly close selenium questions as duplicates and reopen them as needed.

StackExchange.ready(function()
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function()
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function()
$hover.showInfoMessage('',
messageElement: $msg.clone().show(),
transient: false,
position: my: 'bottom left', at: 'top center', offsetTop: -7 ,
dismissable: false,
relativeToBody: true
);
,
function()
StackExchange.helpers.removeMessages();

);
);
);
Nov 14 '18 at 6:36


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


















  • The error means that some other element is blocking your element from being clicked, e.g. an overlay may be appearing on top of your element, effectively blocking it from being clicked.

    – natn2323
    Nov 14 '18 at 1:51











  • Thank you for that, gave me the direction i needed to go.

    – usermt
    Nov 14 '18 at 3:39











  • Probability your intended element covered by some other element and that is accepting click instead of actual one. You can perform scroll on your expected element and then click or if other element is spinner or loader then use explicit wait until that element get invisible and then perform click on expected one

    – NarendraR
    Nov 14 '18 at 5:04















1
















This question already has an answer here:



  • Element MyElement is not clickable at point (x, y)… Other element would receive the click

    2 answers



I'm having issues clicking on a button It returns the following error message for me:




selenium.common.exceptions.WebDriverException: Message: unknown
error: Element ... is not clickable at point
(1030, 883). Other element would receive the click: (Session info: chrome=70.0.3538.77) (Driver
info: chromedriver=2.43.600210
(68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT
6.1.7601 SP1 x86_64)




Here is the HTML:






<a submit="#invoice_form" id="calculate_button" data-type="json" class="rollover button" data-remote="true" rel="nofollow" data-method="post" href="/invoices/40736/calculate" data-disable-on-click="true"><span>Calculate</span></a>





I'm trying to automate the form and all fields have been filled out, when come to calculate I get that message.



Below is my code:



driver.find_element_by_id("calculate_button").click()









share|improve this question















marked as duplicate by DebanjanB selenium
Users with the  selenium badge can single-handedly close selenium questions as duplicates and reopen them as needed.

StackExchange.ready(function()
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function()
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function()
$hover.showInfoMessage('',
messageElement: $msg.clone().show(),
transient: false,
position: my: 'bottom left', at: 'top center', offsetTop: -7 ,
dismissable: false,
relativeToBody: true
);
,
function()
StackExchange.helpers.removeMessages();

);
);
);
Nov 14 '18 at 6:36


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


















  • The error means that some other element is blocking your element from being clicked, e.g. an overlay may be appearing on top of your element, effectively blocking it from being clicked.

    – natn2323
    Nov 14 '18 at 1:51











  • Thank you for that, gave me the direction i needed to go.

    – usermt
    Nov 14 '18 at 3:39











  • Probability your intended element covered by some other element and that is accepting click instead of actual one. You can perform scroll on your expected element and then click or if other element is spinner or loader then use explicit wait until that element get invisible and then perform click on expected one

    – NarendraR
    Nov 14 '18 at 5:04













1












1








1









This question already has an answer here:



  • Element MyElement is not clickable at point (x, y)… Other element would receive the click

    2 answers



I'm having issues clicking on a button It returns the following error message for me:




selenium.common.exceptions.WebDriverException: Message: unknown
error: Element ... is not clickable at point
(1030, 883). Other element would receive the click: (Session info: chrome=70.0.3538.77) (Driver
info: chromedriver=2.43.600210
(68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT
6.1.7601 SP1 x86_64)




Here is the HTML:






<a submit="#invoice_form" id="calculate_button" data-type="json" class="rollover button" data-remote="true" rel="nofollow" data-method="post" href="/invoices/40736/calculate" data-disable-on-click="true"><span>Calculate</span></a>





I'm trying to automate the form and all fields have been filled out, when come to calculate I get that message.



Below is my code:



driver.find_element_by_id("calculate_button").click()









share|improve this question

















This question already has an answer here:



  • Element MyElement is not clickable at point (x, y)… Other element would receive the click

    2 answers



I'm having issues clicking on a button It returns the following error message for me:




selenium.common.exceptions.WebDriverException: Message: unknown
error: Element ... is not clickable at point
(1030, 883). Other element would receive the click: (Session info: chrome=70.0.3538.77) (Driver
info: chromedriver=2.43.600210
(68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT
6.1.7601 SP1 x86_64)




Here is the HTML:






<a submit="#invoice_form" id="calculate_button" data-type="json" class="rollover button" data-remote="true" rel="nofollow" data-method="post" href="/invoices/40736/calculate" data-disable-on-click="true"><span>Calculate</span></a>





I'm trying to automate the form and all fields have been filled out, when come to calculate I get that message.



Below is my code:



driver.find_element_by_id("calculate_button").click()




This question already has an answer here:



  • Element MyElement is not clickable at point (x, y)… Other element would receive the click

    2 answers






<a submit="#invoice_form" id="calculate_button" data-type="json" class="rollover button" data-remote="true" rel="nofollow" data-method="post" href="/invoices/40736/calculate" data-disable-on-click="true"><span>Calculate</span></a>





<a submit="#invoice_form" id="calculate_button" data-type="json" class="rollover button" data-remote="true" rel="nofollow" data-method="post" href="/invoices/40736/calculate" data-disable-on-click="true"><span>Calculate</span></a>






python selenium






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 2:34









natn2323

633217




633217










asked Nov 14 '18 at 1:46









usermtusermt

163




163




marked as duplicate by DebanjanB selenium
Users with the  selenium badge can single-handedly close selenium questions as duplicates and reopen them as needed.

StackExchange.ready(function()
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function()
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function()
$hover.showInfoMessage('',
messageElement: $msg.clone().show(),
transient: false,
position: my: 'bottom left', at: 'top center', offsetTop: -7 ,
dismissable: false,
relativeToBody: true
);
,
function()
StackExchange.helpers.removeMessages();

);
);
);
Nov 14 '18 at 6:36


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.









marked as duplicate by DebanjanB selenium
Users with the  selenium badge can single-handedly close selenium questions as duplicates and reopen them as needed.

StackExchange.ready(function()
if (StackExchange.options.isMobile) return;

$('.dupe-hammer-message-hover:not(.hover-bound)').each(function()
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');

$hover.hover(
function()
$hover.showInfoMessage('',
messageElement: $msg.clone().show(),
transient: false,
position: my: 'bottom left', at: 'top center', offsetTop: -7 ,
dismissable: false,
relativeToBody: true
);
,
function()
StackExchange.helpers.removeMessages();

);
);
);
Nov 14 '18 at 6:36


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.














  • The error means that some other element is blocking your element from being clicked, e.g. an overlay may be appearing on top of your element, effectively blocking it from being clicked.

    – natn2323
    Nov 14 '18 at 1:51











  • Thank you for that, gave me the direction i needed to go.

    – usermt
    Nov 14 '18 at 3:39











  • Probability your intended element covered by some other element and that is accepting click instead of actual one. You can perform scroll on your expected element and then click or if other element is spinner or loader then use explicit wait until that element get invisible and then perform click on expected one

    – NarendraR
    Nov 14 '18 at 5:04

















  • The error means that some other element is blocking your element from being clicked, e.g. an overlay may be appearing on top of your element, effectively blocking it from being clicked.

    – natn2323
    Nov 14 '18 at 1:51











  • Thank you for that, gave me the direction i needed to go.

    – usermt
    Nov 14 '18 at 3:39











  • Probability your intended element covered by some other element and that is accepting click instead of actual one. You can perform scroll on your expected element and then click or if other element is spinner or loader then use explicit wait until that element get invisible and then perform click on expected one

    – NarendraR
    Nov 14 '18 at 5:04
















The error means that some other element is blocking your element from being clicked, e.g. an overlay may be appearing on top of your element, effectively blocking it from being clicked.

– natn2323
Nov 14 '18 at 1:51





The error means that some other element is blocking your element from being clicked, e.g. an overlay may be appearing on top of your element, effectively blocking it from being clicked.

– natn2323
Nov 14 '18 at 1:51













Thank you for that, gave me the direction i needed to go.

– usermt
Nov 14 '18 at 3:39





Thank you for that, gave me the direction i needed to go.

– usermt
Nov 14 '18 at 3:39













Probability your intended element covered by some other element and that is accepting click instead of actual one. You can perform scroll on your expected element and then click or if other element is spinner or loader then use explicit wait until that element get invisible and then perform click on expected one

– NarendraR
Nov 14 '18 at 5:04





Probability your intended element covered by some other element and that is accepting click instead of actual one. You can perform scroll on your expected element and then click or if other element is spinner or loader then use explicit wait until that element get invisible and then perform click on expected one

– NarendraR
Nov 14 '18 at 5:04












3 Answers
3






active

oldest

votes


















1














Figure it out and is now working. Here is the code I used. Basically I need to add a time to wait for the temporary overlay to disappear before trying to click.



 cal_wait = WebDriverWait(driver, 10)
cal_wait.until(EC.invisibility_of_element_located((By.XPATH,"//div[@class='blockUI
blockOverlay']")))
driver.find_element_by_id("calculate_button").click()





share|improve this answer
































    0














    I had the same error, and I realized that the button was not clickable because there was actually a nested link that the website would go to when the button was clicked. Try looking for other elements that could be activated/ pressed when you click the button.






    share|improve this answer






























      0














      If anybody else needs the answer maybe you should try sending CR with



      .send_keys(u'ue007')





      share|improve this answer





























        3 Answers
        3






        active

        oldest

        votes








        3 Answers
        3






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        1














        Figure it out and is now working. Here is the code I used. Basically I need to add a time to wait for the temporary overlay to disappear before trying to click.



         cal_wait = WebDriverWait(driver, 10)
        cal_wait.until(EC.invisibility_of_element_located((By.XPATH,"//div[@class='blockUI
        blockOverlay']")))
        driver.find_element_by_id("calculate_button").click()





        share|improve this answer





























          1














          Figure it out and is now working. Here is the code I used. Basically I need to add a time to wait for the temporary overlay to disappear before trying to click.



           cal_wait = WebDriverWait(driver, 10)
          cal_wait.until(EC.invisibility_of_element_located((By.XPATH,"//div[@class='blockUI
          blockOverlay']")))
          driver.find_element_by_id("calculate_button").click()





          share|improve this answer



























            1












            1








            1







            Figure it out and is now working. Here is the code I used. Basically I need to add a time to wait for the temporary overlay to disappear before trying to click.



             cal_wait = WebDriverWait(driver, 10)
            cal_wait.until(EC.invisibility_of_element_located((By.XPATH,"//div[@class='blockUI
            blockOverlay']")))
            driver.find_element_by_id("calculate_button").click()





            share|improve this answer















            Figure it out and is now working. Here is the code I used. Basically I need to add a time to wait for the temporary overlay to disappear before trying to click.



             cal_wait = WebDriverWait(driver, 10)
            cal_wait.until(EC.invisibility_of_element_located((By.XPATH,"//div[@class='blockUI
            blockOverlay']")))
            driver.find_element_by_id("calculate_button").click()






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 14 '18 at 3:53









            Manoj Kengudelu

            3661313




            3661313










            answered Nov 14 '18 at 3:41









            usermtusermt

            163




            163























                0














                I had the same error, and I realized that the button was not clickable because there was actually a nested link that the website would go to when the button was clicked. Try looking for other elements that could be activated/ pressed when you click the button.






                share|improve this answer



























                  0














                  I had the same error, and I realized that the button was not clickable because there was actually a nested link that the website would go to when the button was clicked. Try looking for other elements that could be activated/ pressed when you click the button.






                  share|improve this answer

























                    0












                    0








                    0







                    I had the same error, and I realized that the button was not clickable because there was actually a nested link that the website would go to when the button was clicked. Try looking for other elements that could be activated/ pressed when you click the button.






                    share|improve this answer













                    I had the same error, and I realized that the button was not clickable because there was actually a nested link that the website would go to when the button was clicked. Try looking for other elements that could be activated/ pressed when you click the button.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered Nov 14 '18 at 2:37









                    Athreya DanielAthreya Daniel

                    447




                    447





















                        0














                        If anybody else needs the answer maybe you should try sending CR with



                        .send_keys(u'ue007')





                        share|improve this answer



























                          0














                          If anybody else needs the answer maybe you should try sending CR with



                          .send_keys(u'ue007')





                          share|improve this answer

























                            0












                            0








                            0







                            If anybody else needs the answer maybe you should try sending CR with



                            .send_keys(u'ue007')





                            share|improve this answer













                            If anybody else needs the answer maybe you should try sending CR with



                            .send_keys(u'ue007')






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered Nov 14 '18 at 5:55









                            alaenvargutalaenvargut

                            62




                            62













                                Popular posts from this blog

                                Top Tejano songwriter Luis Silva dead of heart attack at 64

                                政党

                                天津地下鉄3号線