мне нужно выбрать опцию, которая имея те же идентификаторы HTML:выберите флажок с помощью Селен WebDriver
<label class="table-checkbox-label" for="record-12034">
<input id="record-12034" class="table-checkbox" type="checkbox"/>
</label>
</td>
<td>91363007</td>
<td>EC4N</td>
<td>true</td>
<td>ACTIVE</td>
</tr>
<tr data-id="12201">
<td>
<label class="table-checkbox-label" for="record-12201">
<input id="record-12201" class="table-checkbox" type="checkbox"/>
</label>
</td>
list of checkboxes. Я пошлю идентификатор контракта в filterbox под идентификатором контракта, который будет похож на автозаполнение box.so он даст результат на основе ввода. like this Но вот мой селеном код clickin на 1 флажком из списка флажков, как показано на рисунке 1.
Пожалуйста любые предложения
Edit: : код функции ключевого слова:
public void filter(String objectName,String testData) throws InterruptedException,IOException {
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='content']/div[7]/table/thead/tr[2]/td[2]/input")));//wait for textbox
driver.findElement(By.xpath(".//*[@id='content']/div[7]/table/thead/tr[2]/td[2]/input")).sendKeys(testData);//send data to textbox
System.out.print("Text box is now visible");
driver.findElement(By.xpath(".//*[starts-with(@id,'record')]")).click();//click on checkbox
driver.findElement(By.xpath(".//*[@id='content']/div[7]/table/thead/tr[2]/td[2]/input")).clear();//clear textbox
}
Код для чтения файла первенствует:
public void ASRTaccounts() throws IOException, InterruptedException, EncryptedDocumentException, InvalidFormatException, AWTException {
keyword = new keywords();
List<String> data = new ArrayList<String>();
File file = new File("C:\\RDMT test\\rdmt_test\\RDMT_\\LeadSuite.xlsx");
Workbook workbook = WorkbookFactory.create(file);
DataFormatter formatter = new DataFormatter();
Sheet sheet = workbook.getSheet("login");
for (Row row : sheet) {
for (Cell cell : row) {
data.add(formatter.formatCellValue(cell));
}
}
System.out.println(data);
for (int i=3;i<data.size();i++){
if (data.get(i).equals("filter")){
String key = (String) data.get(i);
String testData = (String) data.get(i+1);
String objectName = (String) data.get(i+2);
System.out.println(key);
System.out.println(testData);
System.out.println(objectName);
keyword.filter(objectName,testData);
}
Итак, проблема в том, что вы не нашли правильный флажок? Не могли бы вы показать нам свой код? Вы не можете сделать 'driver.getElement (By.id (" record-12034 "))' или что-то подобное? –
@ToddSewell Я отправляю идентификатор контракта в текстовое поле, используя файл excel, для которого я использую Apache POI. У меня есть набор данных для отправки, для которых мне нужно установить флажок, а затем нужно очистить фильтровую папку. – Payal
@LolCoder 아카 쉬 Я попытался использовать start с xpath, list, выбрано. проблема в том, что он выбирает флажок, но прежде, чем я отправлю значение в текстовое поле и это слишком первый флажок. – Payal