如何在位于同一级别的两个不同元素之间跳转?

问题描述 投票:0回答:1

问题如下,在相同的html中,我首先有一个页脚和一个div位于同一级别,我想单击以下代码的img

<footer>
  <div layout="row" layout-align="center center" flex="" class="layout-align-center-center layout-row flex">
    <img src="assets/images/vtr-icon-tecnico.png" class="icon" ng-click="vm.openModal($event, 'appt')" role="button" tabindex="0">
  </div>
</footer>

然后单击以下代码的输入的输入:

<div class="md-dialog-container ng-scope" tabindex="-1" style="top: 0px; height: 937px;">
  <form name="appsForm" class="ng-pristine ng-invalid ng-invalid-required" style="">
   <!-- ngIf: !links -->
    <md-content class="md-padding ng-scope layout-column" layout="column" ng-if="!links" style="">
      <md-input-container class="md-input-invalid"><label for="input_10557">Clave</label>
        <input required="" type="password" name="password" md-maxlength="30" ng-model="key.password" class="ng-pristine md-input ng-empty ng-invalid ng-invalid-required ng-touched" id="input_10557" aria-invalid="true" ng-trim="false" style="">
      </md-input-container>
    </md-content>
 </form>
</div>

使用我尝试过的xpath:

pass = wait.until(EC.element_to_be_clickable((By.XPATH, "//div[contains(@class,'ng-scope layout-column flex')]//div[@id='input_10555']")))

但是答案是控制台中的以下内容:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//div[contains(@class,'ng-scope layout-column flex')]//div[@id='input_10555']"}

我使用Python,Selenium Web驱动程序和Chrome浏览器

感谢您对此有更好的了解

python selenium-webdriver xpath css-selectors webdriverwait
1个回答
0
投票
所需的元素是Angular元素,因此要在元素上定位click(),您必须在element_to_be_clickable()上引入

WebDriverWait

,并且可以使用以下Locator Strategies中的任何一个:
© www.soinside.com 2019 - 2024. All rights reserved.