如何单击Web元素以显示日期选择器?
来源:爱站网时间:2021-09-16编辑:网友分享
我无法找到此框的元素以单击以弹出日期选择器,当我检查此元素时,将获得任何帮助,这就是我所看到的... Xpath也不起作用
问题描述
我无法找到此框的元素以单击以弹出日期选择器
任何帮助将不胜感激
当我检查元素时,这就是我看到的... Xpath也不起作用
思路一:
所需元素是Angular元素,因此要在元素上定位/ click()
,需要为elementToBeClickable()
引入WebDriverWait,并且可以使用以下Locator Strategies中的任何一个:
-
cssSelector
:new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("input.formInput.effectiveDates.ng-pristine.ng-isolate-scope.hasDatepicker.ng-empty.ng-invalid.ng-invalid-required.ng-not-modified.ng-touched[name='effectiveStartDate'][placeholder*='Enter date']"))).click();
-
xpath
:new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='formInput effectiveDates ng-pristine ng-isolate-scope hasDatepicker ng-empty ng-invalid ng-invalid-required ng-not-modified ng-touched' and @name='effectiveStartDate'][contains(@placeholder, 'Enter date')]"))).click();
思路二:
您可以尝试使用JavascriptExecutor单击。
((JavascriptExecutor) driver).executeScript("arguments[0].click();", element);
或者您可以尝试使用坐标单击:
Actions builder = new Actions(driver);
builder.moveToElement(element, 10, 25).click().build().perform();
上一篇:使用休眠回调的优势?