如何解决如何使用 xpath 查找元素?
我试图找到一个“按钮”并点击它,但它没有 ID。 我尝试使用 Xpath 甚至 cssSelector 但没有任何效果。
这是按钮的元素:
div style="cursor: grabbing;" title="Approved Forms" onclick="goToForms(0)" class="col-lg-2 col-sm-6"
我试过了:
driver.findElement(By.xpath("//div[contains(@title=,'Approved Forms')]")).click();
driver.findElement(By.xpath("/html/body/div[3]/div/div/div[2]/div[1]")).click(); *copy xpath*
driver.findElement(By.cssSelector(['title="Approved Forms"'])).click(); *has a sintax errors,not sure how to write it*
解决方法
要定位元素,您可以使用以下任一 Locator Strategies:
-
cssSelector
:WebElement element = driver.findElement(By.cssSelector("div[title='Approved Forms'][onclick^='goToForms']"));
-
xpath
:WebElement element = driver.findElement(By.xpath("//div[@title='Approved Forms' and starts-with(@onclick,'goToForms')]"));
理想情况下,您需要为 visibilityOfElementLocated()
引入 WebDriverWait,并且您可以使用以下任一定位器策略:
-
cssSelector
:WebElement element = new WebDriverWait(driver,20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div[title='Approved Forms'][onclick^='goToForms']")));
-
xpath
:WebElement element = new WebDriverWait(driver,20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@title='Approved Forms' and starts-with(@onclick,'goToForms')]")));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。