【问题标题】:Unable to find element with Xpath Selenium in IE无法在 IE 中使用 Xpath Selenium 找到元素
【发布时间】:2021-01-02 13:42:07
【问题描述】:

对象的 DOM Explorer :

<INPUT tabIndex=0 onkeyup=DisableEnableFields(); onblur=autoValidate(this) id=prvd_org_name onkeydown="return HandleMaxLengths(this, 70,event,'','');" maxLength=70 size=120 name=prvd_org_name isRequired="false" ValidationType="ALPHANUMERICSPACEPUNCTUATION">

请帮我解决 xpath

在 xpaths 下试过:

driver.findElement(By.xpath("//input[@name ='prvd_org_name']"))
driver.findElement(By.xpath("//input[@type= text and @name ='prvd_org_name']"))

请给我不同的选择,因为以上两个它让我无法找到元素

【问题讨论】:

  • 你想在哪里找到什么?
  • 你能分享页面的网址吗?现在看起来这个页面的 html 无效:应该是 name="prvd_org_name",而不是 name=prvd_org_name

标签: java selenium xpath css-selectors webdriverwait


【解决方案1】:

要识别元素,您可以使用以下任一Locator Strategies

  • cssSelector:

    WebElement element = driver.findElement(By.cssSelector("input#prvd_org_name[name='prvd_org_name']"));
    
  • xpath:

    WebElement element = driver.findElement(By.xpath("//input[@id='prvd_org_name' and @name='prvd_org_name']"));
    

但是,由于该元素是动态元素,因此要识别您需要为elementToBeClickable() 诱导WebDriverWait 的元素,您可以使用以下任一定位器策略

  • cssSelector:

    WebElement element = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input#prvd_org_name[name='prvd_org_name']")));
    
  • xpath:

    WebElement element = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@id='prvd_org_name' and @name='prvd_org_name']")));
    

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    相关资源
    最近更新 更多