Selenium webdriver SeleniumWebDriver Java_如何存储动态文本并在以后的脚本中调用它

Selenium webdriver SeleniumWebDriver Java_如何存储动态文本并在以后的脚本中调用它,selenium-webdriver,Selenium Webdriver,我在某一点上卡住了,我需要一些指导,如果有人建议我如何执行这些脚本,我将非常感激。 好的,在我的应用程序中,我必须选择员工国家/地区下拉列表、员工国家/地区下拉列表和员工代码下拉列表。 在这里,我可以选择任何国家,然后他们的州和员工代码,这是动态元素我们可以创建新的或我们选择现有的代码,我需要存储这些元素每个员工代码包含10个员工档案。例如,如果我的员工代码是E001,它将包含英国员工档案,希望你明白我在这里的意思下一页我必须单击这些员工代码超链接实际上我希望我的脚本能够调用存储的动态元素。 下

我在某一点上卡住了,我需要一些指导,如果有人建议我如何执行这些脚本,我将非常感激。 好的,在我的应用程序中,我必须选择员工国家/地区下拉列表、员工国家/地区下拉列表和员工代码下拉列表。 在这里,我可以选择任何国家,然后他们的州和员工代码,这是动态元素我们可以创建新的或我们选择现有的代码,我需要存储这些元素每个员工代码包含10个员工档案。例如,如果我的员工代码是E001,它将包含英国员工档案,希望你明白我在这里的意思下一页我必须单击这些员工代码超链接实际上我希望我的脚本能够调用存储的动态元素。 下面是我现在使用的示例脚本

jxl.Sheet1=wBook.getSheet1; 字符串EmployeeCountry=Sheet1.getCell2,1.getContents; 新建Select driver.findElementBy.idFact-Communities-LIVE.selectByVisibleTextEmployeeCountry; Thread.sleep2000; 字符串EmployeeState=Sheet1.getCell2,2.getContents; 新建Select driver.findElementBy.idFact-Products-LIVE.selectByVisibleTextEmployeeState; //使用索引选择dropdownlisted名称 新建Select driver.findElementBy.cssSelectorFact-Camp_下拉列表-LIVE.selectByIndex1; //现在如何存储它并在以后检索它? //在此之后,我必须在这里使用这些员工代码 //下面是当我们知道我们选择了什么员工代码时硬编码的脚本 WebElement element7=new WebDriverWaitdriver,20.untelexpectedconditions.elementToBeClickableBy.xpath//div[@id='opportunitiesDetails']//a[text='EMP001']; driver.findElementBy.xpath//div[@id='opportunities details']//a[text='EMP001']。单击; //但是如何处理动态元素据我所知,您希望在下拉列表中检索所选选项的文本,以便以后使用。因此,您可以添加下面的代码来检索当前选择的选项

//selecting the dropdownlisted name by using INDEX 
new Select (driver.findElement(By.cssSelector("#Fact-Camp_DropDown-LIVE"))).selectByIndex(1);

//Retrieves the currently selected option from the dropdown.
String Option_Selected = new Select(driver.findElement(By.xpath("(#Fact-Camp_DropDown-LIVE"))).getFirstSelectedOption().getText();
现在,您可以在后面的代码中使用它,如下所示:

WebElement element7 = (new WebDriverWait(driver, 20)).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@id='opportunitiesDetails']//a[text()='"+Option_Selected+"']")));
driver.findElement(By.xpath("//div[@id='opportunitiesDetails']//a[text()='"+Option_Selected+"']")).click();

此外,我还建议您使用elementtobevible方法,而不是elementtobelickable方法;它更可靠

你的下一页URL是什么?两个页面都有相同的URL。唯一的区别是上面的脚本是在特定的bucket Page1下上传员工档案,下一页Page2将是一个包含大量档案的所有bucket的列表,这里我想检索我的bucket名称,单击并查看档案名称。你可以使用get text方法获取bucket name。我使用了这个脚本,我有点困惑它不工作,我可以获取文本,然后使用选择操作,我无法单击这些bucket,这是meHi Subh的问题,我尝试了您提供的脚本,但在执行Gettext方法时出错;实际上,我用d作为WebDriver实例来代替driver。那一定是错误。现在请检查,我已经编辑好了很高兴它为你解决了。。如果这个答案对你有帮助,请接受。。干杯