Java 每次单击链接列表中的不同链接(随机)
我正在使用Java开发SeleniumWebDriver。 我想在每次浏览网页时,从网页上的可用链接列表中随机单击一个链接。下面是详细的场景 我正在写一份问卷,一页上有一个以上的问题。例如,一个页面有两个问题: 性别问题有两种选择。我想随机选择一个。以下是XPath:Java 每次单击链接列表中的不同链接(随机),java,selenium-webdriver,Java,Selenium Webdriver,我正在使用Java开发SeleniumWebDriver。 我想在每次浏览网页时,从网页上的可用链接列表中随机单击一个链接。下面是详细的场景 我正在写一份问卷,一页上有一个以上的问题。例如,一个页面有两个问题: 性别问题有两种选择。我想随机选择一个。以下是XPath: //img[@alt='Male'] //img[@alt='Female'] //form[@id='question_data']/div/div[3]/div[2]/div //form[@id='question_dat
//img[@alt='Male']
//img[@alt='Female']
//form[@id='question_data']/div/div[3]/div[2]/div
//form[@id='question_data']/div/div[3]/div[3]/div
//form[@id='question_data']/div/div[3]/div[4]/div
//form[@id='question_data']/div/div[3]/div[5]/div
//form[@id='question_data']/div/div[3]/div[6]/div
//form[@id='question_data']/div/div[3]/div[7]/div
//form[@id='question_data']/div/div[3]/div[8/div
年龄问题,有7个选项,希望随机选择一个或两个。以下是XPath:
//img[@alt='Male']
//img[@alt='Female']
//form[@id='question_data']/div/div[3]/div[2]/div
//form[@id='question_data']/div/div[3]/div[3]/div
//form[@id='question_data']/div/div[3]/div[4]/div
//form[@id='question_data']/div/div[3]/div[5]/div
//form[@id='question_data']/div/div[3]/div[6]/div
//form[@id='question_data']/div/div[3]/div[7]/div
//form[@id='question_data']/div/div[3]/div[8/div
使用isDisplayed函数查看显示的答案类型(//img或//form)。 添加if-else您还必须处理NoSuchElementFount异常。 获取//img的编号或//form的编号。
使用Math.random()函数并选择random answer。首先获得所有可用元素,如:
List<WebElement> allElements = driver.findElements(By.xpath(correct_xpath_to_all_elements));
根据上面XPath的具体结构,您可能需要在单击之前进一步深入层次结构。使用上面的示例代码,如下所示。尽管从您提供的示例XPath来看,我怀疑这是否有效;希望这足以给你一个想法
List<WebElement> allElements = driver.findElements(By.xpath("//form[@id='question_data']/div/div[3]/div"));
allElements[rnd.nextInt(allElements.length)].findElement(By.xpath("div")).click();
List allegements=driver.findElements(By.xpath(//form[@id='question_data']]/div/div[3]/div”);
Allegements[rnd.nextInt(allegements.length)].findElement(By.xpath(“div”)).click();
将不同的xpath选项放在列表中,使用Math.random()
或random
类推出一个介于0和x之间的随机数,然后从列表中获取该索引上的xpath?看起来是很基本的东西。