Calendar 在网页上选择日期2014年8月13日;http://www.makemytrip.com" 从日历图标
网页: 我已经尝试过使用X-path,但是我没有得到这样的元素异常。代码如下:Calendar 在网页上选择日期2014年8月13日;http://www.makemytrip.com" 从日历图标,calendar,selenium-webdriver,Calendar,Selenium Webdriver,网页: 我已经尝试过使用X-path,但是我没有得到这样的元素异常。代码如下: driver.findElement(By.xpath(".//*[@id='ui-datepicker-div']/div[2]/div/a/span")).click(); /*DatePicker is a table.So navigate to each cell * If a particular cell matches value 13 then select it
driver.findElement(By.xpath(".//*[@id='ui-datepicker-div']/div[2]/div/a/span")).click();
/*DatePicker is a table.So navigate to each cell
* If a particular cell matches value 13 then select it
*/
WebElement dateWidget = driver.findElement(By.id(".//*[@id='ui-datepicker-div']/div[1]"));
List<WebElement> rows=dateWidget.findElements(By.tagName("tr"));
List<WebElement> columns=dateWidget.findElements(By.tagName("td"));
System.out.println("Rows count :" + rows.size());
System.out.println("Column count :" + columns.size());
for (WebElement cell: columns)
{
//Select 13th Date
if (cell.getText().equals("13"))
{
cell.findElement(By.linkText("13")).click();
break;
}
}
driver.findelelement(按.xpath(“./*[@id='ui-datepicker-div']/div[2]/div/a/span”)。单击();
/*DatePicker是一个表。所以导航到每个单元格
*如果特定单元格与值13匹配,则选择它
*/
WebElement dateWidget=driver.findElement(By.id(“./*[@id='ui-datepicker-div']]]/div[1]”);
列表行=dateWidget.findElements(按.tagName(“tr”));
列表列=dateWidget.findElements(按.tagName(“td”));
System.out.println(“行计数:+Rows.size());
System.out.println(“列计数:+columns.size());
for(WebElement单元格:列)
{
//选择第13个日期
if(cell.getText()等于(“13”))
{
cell.findElement(By.linkText(“13”))。单击();
打破
}
}
请更改您的代码
driver.findElement(By.xpath(".//*[@id='ui-datepicker-div']/div[2]/div/a/span")).click();
/*DatePicker is a table.So navigate to each cell
* If a particular cell matches value 13 then select it
*/
WebElement dateWidget = driver.findElement(By.id(".//*[@id='ui-datepicker-div']/div[1]"));
对此
driver.findElement(By.xpath("//a[@tabindex='35']")).click();
WebElement dateWidget = driver.findElement(By.xpath(".//*[@id='ui-datepicker-div']/div[1]"));
这里您使用了
id
而不是xpath
。请更改它。我尝试更新makemetrip网站:
WebElement dateWidget = driver.findElement(By.xpath("//div[@id='js-filterOptins']"));
dateWidget= dateWidget.findElement(By.xpath("//div[@class='dateFilter hasDatepicker']/div/div"));
List<WebElement> columns=dateWidget.findElements(By.tagName("td"));
System.out.println("Column count :" + columns.size());
for (WebElement cell: columns)
{
//Select 16th Date
if (cell.getText().equals("16"))
{
cell.findElement(By.linkText("16")).click();
System.out.println(cell);
break;
}
}
WebElement-dateWidget=driver.findElement(By.xpath(“//div[@id='js-filterOptins']);
dateWidget=dateWidget.findElement(By.xpath(“//div[@class='dateFilter hasDatepicker']/div/div”);
列表列=dateWidget.findElements(按.tagName(“td”));
System.out.println(“列计数:+columns.size());
for(WebElement单元格:列)
{
//选择第16个日期
if(cell.getText()等于(“16”))
{
cell.findElement(By.linkText(“16”))。单击();
系统输出打印LN(单元);
打破
}
}
Plz。。。让我知道如何处理xpath。您能告诉我更改xpath的原因吗?我想了解如何决定选择什么作为xpath。您需要检查DOM中的可见元素。您使用的此xpath无法找到所需的元素。希望这个解决方案对你有用。