繁体   English   中英

Python 3和Selenium,提交按钮不可点击

[英]Python 3 and Selenium, submit button not clickable

我知道关于元素不可点击问题也有类似的问题,但对我而言,没有任何建议的解决方案。 主要是我使用的是Chromedriver,有时使用的是Geckodriver,两者同时出现。

仍在显示消息:未知错误:元素在点(470,1499)不可点击

即使您可以看到,我也尝试过使用find_element.click()和操作链。

在我的情况下,更令人困惑的是带有(“ M_1_anchor”)通过的部分和带有(“ submit”)的部分失败,不可点击。 只是增加了一个混乱,相同的功能在2017年8月中之前还可以正常工作。

我的职能是:

from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

def select_and_click_edit_contact_details(self):
    wait = WebDriverWait(self.driver, 10)
    action = ActionChains(self.driver)
    wait.until(expected_conditions.element_to_be_clickable((By.ID, "M_1_anchor")))
    self.driver.find_element_by_id("M_1_anchor").click()

  action.move_to_element(self.driver.find_element_by_id("submit")).perform()
    action.click(self.driver.find_element_by_id("submit")).perform()
    #self.driver.find_element_by_id("submit").click()

我承认提交按钮在页面上不可见,用户需要向下滚动,但这不应该成为失败的原因。

    </select></div>
            </div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#report">
                    Report
                </a>
            </h4>
        </div>
        <div id="report" class="panel-collapse collapse in">
            <div class="panel-body">
                <div class="row">
                    <label class="col-xs-2 col-md-3 control-label">
                        Image file of your logo
                    </label>
                    <div class="col-xs-10 col-md-9">
 <img class="img img-responsive" src="data:image/jpg;base64,/9k=" width="100">                        </div>
                </div>
                    <div class="row" style="margin-top: 20px;">
                        <label class="col-xs-2 col-md-3 control-label">
                            Footer text on driver accounting
                        </label>
                        <div class="col-xs-10 col-md-9">
                            <p class="form-control-static">
                                20
                            </p>
                        </div>
                    </div>
            </div>
        </div>
        </div>
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">
                    <a class="accordion-toggle collapsed" data-
      toggle="collapse" data-parent="#accordion" href="#cashbox">
                        Cashbox
                    </a>
                </h4>
            </div>
            <div id="cashbox" class="panel-collapse collapse">
                <div class="panel-body">
                        <p>Currently there are no cashboxes defined!</p>
                </div>
            </div>
        </div>
    <div class="form-group"></div>
    <div class="form-group">
        <label class="control-label col-md-3">
                <input type="submit" id="submit" value="Edit" class="btn btn-primary">
        </label>
    </div>
  </form></div>
   <script type="text/javascript">
   $(function () {
    $("#list option").attr('disabled', true);
    $('.selectpicker').selectpicker(
                                 {
                                     showContent: false
                                 });
      });
   </script>
   </div>
                    </div>
                </div>
            </div>
    </div>
    <div id="push"></div>
 </div>
   <script src="/HaleWebApplication/bundles/DatatablesNewJs?
  v=83AITBTc8vgdDH09rqjGm5-sSopLGkHfDID5YpRCCVs1"></script>
<script src="/HaleWebApplication/bundles/TreeviewJs?
v=p6JgEssUYL1w3zZdiBDt4Ul_VWhmdclj9e1PSoZpKWI1"></script>

因此,最终的解决方案是将Chrome版本从61降级到60,并将ChromeDriver从2.31升级到2.33。 同步浏览器和WebDriver版本很重要。 谢谢大家的回答。

当我将“ expected_conditions.element_to_be_clickable”而不是“ actionChains_move_to_element”放到FF Geckodriver下运行时,它运行良好。 因此,这是Chromedriver问题或Chrome问题,但我不知道是什么原因造成的。 如果有人可以帮助我识别它并向Chromedriver打开错误,将非常感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM