i应该使Selenium
使用Java
和Inteliji
单击下拉菜单的元素。我应该点击“ today
”按钮。我尝试复制xpath
,使用cssselector
,我使用了xpath finder
等扩展名,但没有结果。元素是<li>
类型,所以我想问题就在这里。关于如何找到正确的Xpath
的任何建议?
附言很抱歉上传图片,作为新用户,我无法将其准确地放在文本中。
Drop down menu image
html
code for the elements
答案 0 :(得分:0)
您不能总是从浏览器的工具中获得硒的可重用XPath定位器。它返回一个绝对的XPath。您需要为元素构造相对的XPath。
Here,您可以了解XPath以及XPath定位器的工作方式。
以下定位器基于您发布的图像。
XPath:
WebElement liToday = driver.findElement(By.xpath("//div[contains(@class,'daterangepicker') and contains(@class,'dropdown-menu')]/div[@class='ranges']/ul/li[text()='Today']"));
CSS选择器:
WebElement liToday = driver.findElement(By.cssSelector("div.daterangepicker.dropdown-menu > div.ranges > ul > li"));
找到元素后,
这部分是用于您单击日期框并显示下拉列表的。
new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOf(liToday));
liToday.click();