我如何处理动态" id"在Selenium Web驱动程序中,在我的Web表单中有多个会话(例如会话开始日期和会话结束日期),当我创建会话的新会话ID更改我如何处理selenium webdriver中的动态ID?
Html代码
<td id="_start_time_td_3" class="ui-widget-content">
<input type="text" id="_start_time_3"
name="start_time[]" maxlength="100" style="width: 120px;
text-align: left;" class="starttime" required="required">
</td>
Selenium代码
driver.findElement(By.id("_start_time_1")).click();
driver.findElement(By.xpath("//div[10]/div/div[2]/table/tbody/tr/td[4]/div")).click();
driver.findElement(By.id("_end_time_1")).click();
driver.findElement(By.xpath("//div[11]/div/div[2]/table/tbody/tr/td[5]/div")).click();
答案 0 :(得分:1)
您可以按类名而不是id
选择元素driver.findElement(By.xpath("//input[@class='starttime']"));
或使用contains
driver.findElement(By.xpath("//input[contains(@id,'start_time')]"));