Я пытаюсь выбрать элементы в «категории» один за другим на this page с:Выберите элементы по одному в списке с Selenium WebDriver
WebElement category = new WebDriverWait(driver, 10)
.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("tr[__gwt_row='" + rowIndex + "'] > td > div")))
.get(3);
category.click();
category.findElement(By.tagName("select")).sendKeys("Businesses");
category.click();
category.findElement(By.tagName("select")).sendKeys("Contacts");
Бросив это: «несвежий опорный элемент: элемент не прилагается к документу страницы «
Возможно, существует какой-то другой способ сделать это?
UPD: Это работает, если я это сделать:
WebElement categoryBusinesses = new WebDriverWait(driver, 10)
.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("tr[__gwt_row='" + rowIndex + "'] > td > div")))
.get(3);
categoryBusinesses.findElement(By.tagName("select")).sendKeys("Businesses");
WebElement categoryContacts = new WebDriverWait(driver, 10)
.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("tr[__gwt_row='" + rowIndex + "'] > td > div")))
.get(3);
categoryContacts.findElement(By.tagName("select")).sendKeys("Contacts");
Но это правильный путь?
UPD2: Я также попытался это:
WebElement element = categoryBusinesses.findElement(By.tagName("select"));
Select category = new Select(element);
category.selectByIndex(0);
category.selectByIndex(1);
Но это не работает.
Я думаю, вам нужно взглянуть на то, как выбрать элементы работают в WebDriver http://stackoverflow.com/documentation/selenium-webdriver/6426/select- class # t = 201611251135026517728 рассматривая их так же, как WebElement может привести к некоторому нечетному поведению. – Josh
@ Josh Я обновил свой вопрос. Пожалуйста, проверь это. –
Посмотрев на ошибку: «ссылка на устаревший элемент: элемент не прикреплен к документу страницы», у меня есть один вопрос. Выполняете ли вы операцию, связанную с окном переключения? –