在这里,为了找到复选框,XPath写成如下。 // td [text()='bbbb vvvvvvvvv'] / preceding-sibling :: td / div / input [@ class ='hidden']
但是没有捕获这个输入。 util“// td [text()='bbbb vvvvvvvvv'] / preceding-sibling :: td / div /”,找到元素。这有什么特别的原因吗?我想知道为什么这个XPath不起作用?
尝试webdriverwait和以下任何选项。
选项1:
WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='id' and @type='checkbox']")));
element.click();
选项2:
WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='id' and @type='checkbox']")));
Actions action=new Actions(driver);
action.moveToElement(element).click().build().perform();
2选项:
WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element1 = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='id' and @type='checkbox']")));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();",element1);