Java 尝试通过Selenium Webdriver按顺序选择行时遇到问题
我在网站上有表格。Table允许按Shift键+向下箭头键选择多行 我试图使用SeleniumWebDriver执行相同的操作,但它并不是一行一行地选择,而是先选择行,然后取消选择,然后转到下一步 我的代码:Java 尝试通过Selenium Webdriver按顺序选择行时遇到问题,java,selenium-webdriver,Java,Selenium Webdriver,我在网站上有表格。Table允许按Shift键+向下箭头键选择多行 我试图使用SeleniumWebDriver执行相同的操作,但它并不是一行一行地选择,而是先选择行,然后取消选择,然后转到下一步 我的代码: List<WebElement> TRcount = driver.findElements(By.tagName("tr")); int x; for(x=0;x<TRcount.size();x++) { Actions ro
List<WebElement> TRcount = driver.findElements(By.tagName("tr"));
int x;
for(x=0;x<TRcount.size();x++)
{
Actions rows = new Actions(Base.getdriver());
rows.keyDown(TRcount.get(x),Keys.SHIFT).keyUp(TRcount.get(x+1), Keys.SHIFT).build();
rows.build().perform();
TRcount.get(x).click();
}
List TRcount=driver.findElements(按.tagName(“tr”);
int x;
对于(x=0;x我认为这应该是:
List<WebElement> TRcount = driver.findElements(By.tagName("tr"));
int x;
Actions rows = new Actions(Base.getdriver());
rows = rows.keyDown(Keys.SHIFT).build();
for(x=0;x<TRcount.size();x++)
{
rows = rows.sendKeys(TRcount.get(x),Keys.DOWN).build();
}
rows = rows.keyUp(Keys.SHIFT).build();
rows.build().perform();
List TRcount=driver.findElements(按.tagName(“tr”);
int x;
Actions行=新操作(Base.getdriver());
rows=rows.keyDown(Keys.SHIFT.build();
对于(x=0;x我认为这应该是:
List<WebElement> TRcount = driver.findElements(By.tagName("tr"));
int x;
Actions rows = new Actions(Base.getdriver());
rows = rows.keyDown(Keys.SHIFT).build();
for(x=0;x<TRcount.size();x++)
{
rows = rows.sendKeys(TRcount.get(x),Keys.DOWN).build();
}
rows = rows.keyUp(Keys.SHIFT).build();
rows.build().perform();
List TRcount=driver.findElements(按.tagName(“tr”);
int x;
Actions行=新操作(Base.getdriver());
rows=rows.keyDown(Keys.SHIFT.build();
对于(x=0;x您可以按keyDown
和keydup
。试试看
Actions rows = new Actions(Base.getdriver());
rows.keyDown(Keys.SHIFT).perform();
for(x = 0 ; x < TRcount.size() ; x++)
{
TRcount.get(x).click();
}
rows.keyUp(Keys.SHIFT).perform();
Actions行=新操作(Base.getdriver());
rows.keyDown(Keys.SHIFT.perform();
对于(x=0;x
顺便说一下,perform()
正在执行build()
,不需要同时调用它们。您可以按keyDown
和keyUp
。试试看
Actions rows = new Actions(Base.getdriver());
rows.keyDown(Keys.SHIFT).perform();
for(x = 0 ; x < TRcount.size() ; x++)
{
TRcount.get(x).click();
}
rows.keyUp(Keys.SHIFT).perform();
Actions行=新操作(Base.getdriver());
rows.keyDown(Keys.SHIFT.perform();
对于(x=0;x
顺便说一下,perform()
正在执行build()
,无需同时调用它们。您可以共享您的网站链接吗?您可以共享您的网站链接吗?谢谢您的输入。它按顺序选择2行,然后取消选择这2行,再选择新的2行。我有10行,我想按顺序选择所有行。谢谢您的输入。它按顺序选择2行,然后取消选择这2行s并选择新的2行。我有10行,我想按顺序选择所有行。嗨,也谢谢你的帮助。嗨,也谢谢你的帮助。