1

我正在测试一个表格。当我点击一个模态时,会出现一个 div 模态,背景淡出,这个新的模态淡入允许您输入信息。由于某种原因,selenium 无法识别此模式中的元素。它没有被列为 iframe,所以我不确定我是否应该使用 switch。

情态的

<div id="addressModal-20f95ac4-8a83-4c02-862d-a42d60a74b04" class="modal hide fade in" 
style="display: block;" aria-hidden="false">

文本处于模态

<textarea rows="2"name="viewModel.MortgageForm.BorrowerInformationSection.Borrowers[0].Dependents.modalTextArea-addressModal-20f95ac4-8a83-4c02-862d-a42d60a74b04" id="modalTextArea-addressModal-20f95ac4-8a83-4c02-862d-a42d60a74b04" cols="20" class="span valid"></textarea>
4

1 回答 1

1

可能有多个元素具有相同的 DOM 签名,并且 webdriver 选择了不是当前用户视图上下文的元素。

解决方案:由于它不是 iframe,因此您必须在模态框容器的上下文中定位元素。您可以尝试以下方法来定位 textarea webelement:

  1. 查询:

    $("div[id^='addressModal']:visible").find("textarea")
    
  2. 网络驱动程序(Java):

    driver.findElement(By.cssSelector,"div[id^=addressModal] textarea")
    
于 2013-07-08T19:40:49.817 回答