Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ElementClickInterceptedException:消息:element click intercepted element不可单击错误使用Selenium和Python单击单选按钮_Javascript_Python_Selenium_Webdriver_Webdriverwait - Fatal编程技术网

Javascript ElementClickInterceptedException:消息:element click intercepted element不可单击错误使用Selenium和Python单击单选按钮

Javascript ElementClickInterceptedException:消息:element click intercepted element不可单击错误使用Selenium和Python单击单选按钮,javascript,python,selenium,webdriver,webdriverwait,Javascript,Python,Selenium,Webdriver,Webdriverwait,我正在尝试单击第一个框(ASN/DSD) 但我得到了这个错误信息: selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <input type="radio" name="docTypes" ng-model="$ctrl.documentTypes.selected"

我正在尝试单击第一个框(ASN/DSD)

但我得到了这个错误信息:

selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: 
Element <input type="radio" name="docTypes" ng-model="$ctrl.documentTypes.selected" id="documentType-0" ng-change="$ctrl.onChangeDocumentType()" ng-value="documentType" tabindex="0" class="ng-pristine ng-untouched ng-valid ng-empty" value="[object Object]" aria-invalid="false"> 
is not clickable at point (338, 202). 
Other element would receive the click:
 <label translate-attr="{title: 'fulfillment.documentAction.createNew.modal.documentType.document.title'}" translate-values="{documentName: documentType.name}" for="documentType-0" translate="ASN - DSD" tabindex="0" title="Select ASN - DSD document type">...</label>
  (Session info: chrome=83.0.4103.116)
我看到DebanjanB在这里回答了一个类似的问题:

我正在尝试他的第三个使用执行脚本的解决方案。我不知道这个模型使用什么CSS选择器。 模型看起来像这样

WebDriverWait(driver, 20).until(EC.invisibility_of_element((By.CSS_SELECTOR, "span.taLnk.ulBlueLinks")))
driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='loadingWhiteBox']"))))
我的问题是,我需要在第一行中使用什么css选择器,然后在第二行中使用的只是初始xpath吗

这里是HTML供参考。当我试图点击输入部分时,我得到了点击截获错误。如果使用xpath单击标签标记,则不会出错,也不会单击标签标记。它只是转到下一段代码,什么也不做

<li ng-repeat="documentType in selectDocumentType.documentTypes.displayedList |
orderBy:selectDocumentType.formOrder"> 

<input type="radio" name="docTypes" ng
model="selectDocumentType.documentTypes.selected" id="documentType-0" ng-value="documentType"
tabindex="0" class="ng-valid ng-not-empty ng-dirty ng-valid-parse ng-touched" value="[object Object]"
aria-invalid="false"> 

<label translate-attr="{title:'fulfillment.documentAction.createNew.modal.documentType.document.title'}" 
translate-values={documentName: documentType.name}" for="documentType-0" translate="ASN - DSD" tabindex="0" title=
"Select ASN - DSD document type"><span>ASN - DSD</span></label> </li>
  • 此错误消息

    selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: 
    Element <input type="radio" name="docTypes" ng-model="$ctrl.documentTypes.selected" id="documentType-0" ng-change="$ctrl.onChangeDocumentType()" ng-value="documentType" tabindex="0" class="ng-pristine ng-untouched ng-valid ng-empty" value="[object Object]" aria-invalid="false"> 
    is not clickable at point (338, 202). 
    Other element would receive the click:
     <label translate-attr="{title: 'fulfillment.documentAction.createNew.modal.documentType.document.title'}" translate-values="{documentName: documentType.name}" for="documentType-0" translate="ASN - DSD" tabindex="0" title="Select ASN - DSD document type">...</label>
    
  • 使用
    XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='documentType-0']"))).click()
    
    driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='documentType-0']"))))
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

  • 更新 您也可以使用
    execute\u script()
    方法,如下所示:

    • 使用
      CSS\u选择器

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "label[for='documentType-0']"))).click()
      
      driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "label[for='documentType-0']"))))
      
    • 使用
      XPATH

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='documentType-0']"))).click()
      
      driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='documentType-0']"))))
      

    工具书类 您可以在以下内容中找到一些相关讨论:

    此错误消息

    selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: 
    Element <input type="radio" name="docTypes" ng-model="$ctrl.documentTypes.selected" id="documentType-0" ng-change="$ctrl.onChangeDocumentType()" ng-value="documentType" tabindex="0" class="ng-pristine ng-untouched ng-valid ng-empty" value="[object Object]" aria-invalid="false"> 
    is not clickable at point (338, 202). 
    Other element would receive the click:
     <label translate-attr="{title: 'fulfillment.documentAction.createNew.modal.documentType.document.title'}" translate-values="{documentName: documentType.name}" for="documentType-0" translate="ASN - DSD" tabindex="0" title="Select ASN - DSD document type">...</label>
    
  • 使用
    XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='documentType-0']"))).click()
    
    driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='documentType-0']"))))
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

  • 更新 您也可以使用
    execute\u script()
    方法,如下所示:

    • 使用
      CSS\u选择器

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "label[for='documentType-0']"))).click()
      
      driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "label[for='documentType-0']"))))
      
    • 使用
      XPATH

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='documentType-0']"))).click()
      
      driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[@for='documentType-0']"))))
      

    工具书类 您可以在以下内容中找到一些相关讨论:


    当我将此等待添加到代码中时,`WebDriverWait(driver,20).until(EC.element_to_可点击((By.CSS_SELECTOR,“label[for='documentType-0'])))。点击()`程序不会出错,但也不会点击按钮。屏幕上似乎什么也没有发生。节目继续到下一行。你知道为什么不点击按钮吗@DebanjanB@RyanBobber签出答案更新并让我知道状态。使用执行脚本的更新有效!!非常感谢你。我真的很感谢你的帮助。我还有一些问题需要解决,因此您可能会在稍后看到更多问题。当我将此等待添加到代码中时,`WebDriverWait(driver,20)。直到(EC.element_to_可点击((By.CSS_SELECTOR,“label[for='documentType-0'])。单击()`程序不会出错,但也不会单击按钮。屏幕上似乎什么也没有发生。节目继续到下一行。你知道为什么不点击按钮吗@DebanjanB@RyanBobber签出答案更新并让我知道状态。使用执行脚本的更新有效!!非常感谢你。我真的很感谢你的帮助。我还有一些问题需要解决,因此您可能会在稍后看到更多问题。