繁体   English   中英

如何使用 driver.findElement 定位具有以下 XML 的元素?

[英]How to use driver.findElement to locate an element with below XML?

我有如下 XML:

<input name="_jpfcpncuivr___ns535482039__j_id__ctru0:fragmentRegionStatic:0:it1" maxlength="6" style="text-transform:uppercase" type="text" class="af_inputText_content" id="_jpfcpncuivr___ns535482039__j_id__ctru0:fragmentRegionStatic:0:it1::content">

我已经通过 id、name、className、cssSelector 或 xpath 尝试了driver.findElement但都失败了并出现错误:

没有这样的元素:无法找到元素:

所需元素是一个动态元素,因此要在元素上定位和click() ,您需要为element_to_be_clickable()引入WebDriverWait ,您可以使用以下任一定位器策略

  • cssSelector

     new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input[class$='inputText_content'][id*='fragmentRegionStatic']"))).click();
  • xpath

     new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[contains(@class, 'inputText_content') and contains(@id, 'fragmentRegionStatic')]"))).click();

暂无
暂无

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

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