我无法执行Selenium Java随机单击

piwo6bdm  于 2023-01-26  发布在  Java
关注(0)|答案(3)|浏览(109)

enter image description here
我想用 selenium 做一个随机点击,但是我不能,我找了找,但是没有找到,我想随机选择照片中的尺寸,因为尺寸可能会缺货,我的测试会失败。
我请求你们的支持。我尝试过列表方法,但没有成功。

cwxwcias

cwxwcias1#

由于您尚未共享HTML结构,无法建议您实际的代码,但请参阅下面的算法:

解决方案1:假设下拉菜单具有select标记:

1.将下拉列表的值放入Select对象,将其命名为dropdownValues

Select dropdownValues= new Select(driver.findElement(By.name("name of the element")));

1.创建Random类的示例(对象),并在下拉索引范围内生成随机数
1.从下拉列表值中选择随机索引

dropdownValues.selectByIndex(randomElement);

解决方案2:假设下拉菜单没有select标记:

1.将下拉列表值放入列表中,示例如下

List<WebElement> dropdownValues = driver.findElements(By.xpath("enter xpath here"));

1.创建一个Random类的示例(对象),如下所示

Random rand = new Random();

1.从列表下拉列表值中选择随机索引

dropdownValues.get(rand.nextInt(dropdownValues .size()));
bjg7j2ky

bjg7j2ky2#

2为此采取的方法。

WebElement InputBox = driver.findElement(by.xpath("xpath of input box"));`
     InputBox.click();
        WebElement DropDownAttribute = driver.findElement(by.xpath("//*[text()='Xs']"));
        DropDownAttribute.click();

2.带环

List<WebElement> list = driver.findElements(by.xapth("Xpath of all the dropdown entity"));
for(WebElement ele:list){
if(ele.getText().equals("Xs")){
ele.click();
}
}
qni6mghb

qni6mghb3#

最简单的方法是计算下拉选项数,然后生成一个介于1和最大选项数之间的随机数。由于下拉列表中的“大小”标签,您不希望包含0。

Random random = new Random();
By selectLocator = By.id("someId"); // the locator for the Size dropdown
Select dropdown = new Select(driver.findElement(selectLocator)); // get the Size dropdown element and convert it to a Select element to make it easier to work with
Integer size = dropdown.getOptions().size() + 1; // get the number of OPTIONs and add 1 to avoid selecting the "Size" OPTION
dropdown.selectByIndex(random.nextInt(size)); // select an OPTION based on the generated random number

相关问题