月份下拉列表在硒网络驱动程序的日期选择器中无法正常工作
Month dropdown not working properly in datepicker in selenium webdriver
我正在尝试通过模拟帐户在Selenium webdriver java中自动化Salesforce的帐户创建页面。我正在从 D 驱动器中的 excel 文件中读取数据。
在日期选取器字段中,年份下拉列表工作正常,但月份下拉列表选择无法正常工作。月份下拉列表打开,所需的月份也会突出显示,它还到达并突出显示页面中的所需日期标签,但随后它会跳回到当前月份,即 11 月并从那里选择日期。
我无法理解这种行为。
String date, mon, year;
int month, day;
date = sh.getCell(27, 3).getContents();
year = date.substring(6, 10);
month = Integer.parseInt(date.substring(0, 2));
day = Integer.parseInt(date.substring(3, 5));
month = month-1;
switch(month)
{
case 0 : mon = "January"; break;
case 1 : mon = "February"; break;
case 2 : mon = "March"; break;
case 3 : mon = "April"; break;
case 4 : mon = "May"; break;
case 5 : mon = "June"; break;
case 6 : mon = "July"; break;
case 7 : mon = "August"; break;
case 8 : mon = "September"; break;
case 9 : mon = "October"; break;
case 10 : mon = "November"; break;
case 11 : mon = "December"; break;
default : mon="Incorrect month input";
}
System.out.println(mon);
Select dty;
driver.findElement(By.xpath(".//*[@id='00N9000000Ctc7X']")).click();
dty = new Select(driver.findElement(By.xpath(".//*[@id='calYearPicker']")));
dty.selectByVisibleText(year);
Select dtm;
driver.findElement(By.xpath(".//*[@id='calMonthPicker']")).click();
dtm = new Select(driver.findElement(By.xpath(".//*[@id='calMonthPicker']")));
dtm.selectByVisibleText(mon);
Thread.sleep(5000);
WebElement dp = driver.findElement(By.xpath(".//*[@id='datePicker']/div[2]"));
List<WebElement> colmn;
colmn = dp.findElements(By.tagName("td"));
int dat=0; flag=0;
for(WebElement we : colmn)
{
System.out.println(we.getText());
dat = Integer.parseInt(we.getText());
String clas = we.getAttribute("class");
try
{
if((day==dat) && ((clas.equals("weekday") || (clas.equals("weekend")))))
{
we.click(); Thread.sleep(5000);
flag=1;
break;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
if(flag==0)
System.out.println("Incorrect Date");
下面是Subh给出的评论,它正确回答了我的问题。
真。您必须创建 Select 类的对象,就像这个Select sel = new Select(driver.findElement(By.xpath("//xpath of the element")));
一样,然后使用"selectByValue"或 selectByVisibleText 或 selectByIndex' 方法来选择正确的下拉值。另一方面,有时下拉列表不是使用"选择"标签进行的,您必须首先单击下拉列表,然后单击下拉列表中的结果选项。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作