Java 如何在不使用IE浏览器的操作类的情况下多选表中的项目
IE浏览器不支持操作类。是否可以使用任何其他方式多选表中的项目?如果有,请分享Java 如何在不使用IE浏览器的操作类的情况下多选表中的项目,java,internet-explorer,selenium,selenium-webdriver,selenium-iedriver,Java,Internet Explorer,Selenium,Selenium Webdriver,Selenium Iedriver,IE浏览器不支持操作类。是否可以使用任何其他方式多选表中的项目?如果有,请分享 String[] items = itemName.split("\n");// Items to be clicked Actions builder = new Actions(driver); for(int counter = 0; counter < items.length; counter++) { this.listingRows = this.listing.findElement(
String[] items = itemName.split("\n");// Items to be clicked
Actions builder = new Actions(driver);
for(int counter = 0; counter < items.length; counter++)
{
this.listingRows = this.listing.findElement(By.cssSelector("table[id='mainTable']"));
List<WebElement> element = listingRows.findElements(By.cssSelector("tr[class='sample']>td>div>span")); //Getting the row elements
int itemCnt = element.size();
String item;
for(int i =0;i<itemCnt;i++){
item = element.get(i).getText();
if(item.equalsIgnoreCase(items[counter])){
builder.keyDown(Keys.CONTROL).click(element.get(i)).keyUp(Keys.CONTROL);
builder.build().perform();
}
}
}
请查找表的示例结构以选择值。现在我想选择Text1、Text3和Text5值。我可以使用selenium 2.52.0在Chrome、FF浏览器中选择使用动作类,但无法在IE/Safari中选择
<table>
<tr><td><div><span>Text1<span/><div/><td/><tr/>
<tr><td><div><span>Text2<span/><div/><td/><tr/>
<tr><td><div><span>Text3<span/><div/><td/><tr/>
<tr><td><div><span>Text4<span/><div/><td/><tr/>
<tr><td><div><span>Text5<span/><div/><td/><tr/>
<table>
String[] items = itemName.split("\n");// Items to be clicked
Actions builder = new Actions(driver);
for(int counter = 0; counter < items.length; counter++)
{
this.listingRows = this.listing.findElement(By.cssSelector("table[id='mainTable']"));
List<WebElement> element = listingRows.findElements(By.cssSelector("tr[class='sample']>td>div>span")); //Getting the row elements
int itemCnt = element.size();
String item;
for(int i =0;i<itemCnt;i++){
item = element.get(i).getText();
if(item.equalsIgnoreCase(items[counter])){
builder.keyDown(Keys.CONTROL).click(element.get(i)).keyUp(Keys.CONTROL);
builder.build().perform();
}
}
}
文本1
文本2
文本3
文本4
文本5
用于单击的函数:
String[] items = itemName.split("\n");// Items to be clicked
Actions builder = new Actions(driver);
for(int counter = 0; counter < items.length; counter++)
{
this.listingRows = this.listing.findElement(By.cssSelector("table[id='mainTable']"));
List<WebElement> element = listingRows.findElements(By.cssSelector("tr[class='sample']>td>div>span")); //Getting the row elements
int itemCnt = element.size();
String item;
for(int i =0;i<itemCnt;i++){
item = element.get(i).getText();
if(item.equalsIgnoreCase(items[counter])){
builder.keyDown(Keys.CONTROL).click(element.get(i)).keyUp(Keys.CONTROL);
builder.build().perform();
}
}
}
String[]items=itemName.split(“\n”);//要单击的项目
动作生成器=新动作(驱动程序);
对于(int counter=0;countertd>div>span”);//获取行元素
int itemCnt=element.size();
字符串项;
对于(int i=0;i首先,您可以检查表
String[] items = itemName.split("\n");// Items to be clicked
Actions builder = new Actions(driver);
for(int counter = 0; counter < items.length; counter++)
{
this.listingRows = this.listing.findElement(By.cssSelector("table[id='mainTable']"));
List<WebElement> element = listingRows.findElements(By.cssSelector("tr[class='sample']>td>div>span")); //Getting the row elements
int itemCnt = element.size();
String item;
for(int i =0;i<itemCnt;i++){
item = element.get(i).getText();
if(item.equalsIgnoreCase(items[counter])){
builder.keyDown(Keys.CONTROL).click(element.get(i)).keyUp(Keys.CONTROL);
builder.build().perform();
}
}
}
WebElement data1=d.findElement(By.xpath(""));
然后,逐行选择
String[] items = itemName.split("\n");// Items to be clicked
Actions builder = new Actions(driver);
for(int counter = 0; counter < items.length; counter++)
{
this.listingRows = this.listing.findElement(By.cssSelector("table[id='mainTable']"));
List<WebElement> element = listingRows.findElements(By.cssSelector("tr[class='sample']>td>div>span")); //Getting the row elements
int itemCnt = element.size();
String item;
for(int i =0;i<itemCnt;i++){
item = element.get(i).getText();
if(item.equalsIgnoreCase(items[counter])){
builder.keyDown(Keys.CONTROL).click(element.get(i)).keyUp(Keys.CONTROL);
builder.build().perform();
}
}
}
List<WebElement> tableRows = data1.findElements(By.tagName("tr"));
List tableRows=data1.findElements(按.tagName(“tr”));
使用循环,您可以重复整个列
String[] items = itemName.split("\n");// Items to be clicked
Actions builder = new Actions(driver);
for(int counter = 0; counter < items.length; counter++)
{
this.listingRows = this.listing.findElement(By.cssSelector("table[id='mainTable']"));
List<WebElement> element = listingRows.findElements(By.cssSelector("tr[class='sample']>td>div>span")); //Getting the row elements
int itemCnt = element.size();
String item;
for(int i =0;i<itemCnt;i++){
item = element.get(i).getText();
if(item.equalsIgnoreCase(items[counter])){
builder.keyDown(Keys.CONTROL).click(element.get(i)).keyUp(Keys.CONTROL);
builder.build().perform();
}
}
}
for (int i=0; i<rowSize; i++)
{
WebElement webRow = tableRows.get(i);
//Get all cell values in each row
List<WebElement> allCells = webRow.findElements(By.tagName("td"));
//System.out.println(allCells.size());
if(allCells.size() > 1)
{
row = st1.createRow(i);
for (int j=0; j<allCells.size(); j++)
{
WebElement webCell = allCells.get(j);
String text = webCell.getText();
if(text.length()>3)
{
cell = row.createCell(j);
cell.setCellValue(webCell.getText());
}
}
}
for(int i=0;i 1)
{
row=st1.createRow(i);
对于(int j=0;j3)
{
cell=row.createCell(j);
cell.setCellValue(webCell.getText());
}
}
}
重试一次..!!请提供您尝试过的代码和执行结果,包括任何错误消息等。同时提供指向页面和/或相关HTML的链接。什么是“项目”…您需要更加具体。@JeffC请查找更新的问题。我想单击多个元素,但没有获取元素。请查看更新的问题
String[] items = itemName.split("\n");// Items to be clicked
Actions builder = new Actions(driver);
for(int counter = 0; counter < items.length; counter++)
{
this.listingRows = this.listing.findElement(By.cssSelector("table[id='mainTable']"));
List<WebElement> element = listingRows.findElements(By.cssSelector("tr[class='sample']>td>div>span")); //Getting the row elements
int itemCnt = element.size();
String item;
for(int i =0;i<itemCnt;i++){
item = element.get(i).getText();
if(item.equalsIgnoreCase(items[counter])){
builder.keyDown(Keys.CONTROL).click(element.get(i)).keyUp(Keys.CONTROL);
builder.build().perform();
}
}
}