gpt4 book ai didi

java - 我想要 Do - While 循环,包括 If Else 语句

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:22 25 4
gpt4 key购买 nike

您好,需要此回复...

我有代码1. 打开火狐浏览器2. 输入用户名和密码

检查这些引用图像

Goto https://mettl.com/corporate/live-feed#/proctoringDashboard

Click -> Select All

Click -> Authorize

Find "No more candidates awaiting Authorization"

Click -> All Tests

一旦找到候选人姓名或电子邮件地址,而不是“没有更多候选人等待授权”,请等待 10 秒,然后等待鼠标点击

如下所示

Find Candidate Details

对于电子

我们在线有 100 名候选人,当候选人详细信息更正后,我复制姓名、电子邮件 ID 和出生日期,如果未更正,则返回到所有测试

请检查我的以下代码

package com.selenium.wipro.sample;    

import java.io.File;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class ExampleScanrio {

public static void main(String[] args) throws InterruptedException

{
System.setProperty("webdriver.gecko.driver", "C:\\Users\\Yaser\\dist\\geckodriver-master\\geckodriver.exe");
File pathBinary = new File("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
FirefoxBinary firefoxbinary = new FirefoxBinary(pathBinary);
DesiredCapabilities desired = DesiredCapabilities.firefox();
FirefoxOptions options = new FirefoxOptions();
desired.setCapability(FirefoxOptions.FIREFOX_OPTIONS, options.setBinary(firefoxbinary));
WebDriver driver = new FirefoxDriver(options);
driver.get("https://mettl.com/corporate/login");
driver.manage().window().maximize();
driver.findElement(By.name("userName")).sendKeys("sometext");
driver.findElement(By.name("password")).sendKeys("sometext");
driver.findElement(By.xpath("//button[@type='submit']")).click();

driver.navigate().to("https://mettl.com/corporate/live-feed#/proctoringDashboard");

WebDriverWait wait = new WebDriverWait(driver,50);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[@class='pull-left']")));

// Click -> AllTests
driver.findElement(By.xpath("//span[@class='pull-left']")).click();

// Click -> Authorize
driver.findElement(By.xpath("//button[contains(text(),'Authorize')]")).click();

// Find String
String tt = "No more candidates awaiting Authorization";
String nomore = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='ng-scope' and contains(@data-ng-if,'newRequestReceived')]//p[@class='ng-scope' and contains(@data-ng-if,'authRequestCount')]"))).getAttribute("innerHTML");

// i need condition Statement and Loop Statement here
// It might be wrong please give a correct Statement

boolean run = true;

while(run)
{
if (nomore.contentEquals(tt))
{
driver.navigate().to("https://mettl.com/corporate/live-feed#/proctoringDashboard");
//Thread.sleep(750);
driver.findElement(By.xpath("//label[@class='checkbox ng-binding']//input[@type='checkbox']")).click();
driver.findElement(By.xpath("//button[contains(text(),'Authorize')]")).click();
Thread.sleep(1200);
System.out.println("Not Available");

}

else
{
System.out.println("Available");
//Thread.sleep(10000);
run = false;
//break;
}

}


}
}

和这样的错误

Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 63.0.1, javascriptEnabled: true, moz:accessibilityChecks: false, moz:geckodriverVersion: 0.23.0, moz:headless: false, moz:processID: 20324, moz:profile: C:\Users\Yaser\AppData\Loca..., moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick: true, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, platformVersion: 10.0, rotatable: false, setWindowRect: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: 39efeef7-4514-4b83-b31b-deaf937ee098
*** Element info: {Using=xpath, value=//label[@class='checkbox ng-binding']//input[@type='checkbox']}
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:323)
at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:428)
at org.openqa.selenium.By$ByXPath.findElement(By.java:353)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:315)
at automation.ExampleScanario.main(ExampleScanario.java:52)

请帮助我解决这个问题,我不是软件工程师,请考虑我糟糕的英语知识和 Java 初学者

终于

当候选人数据显示在窗口中时

将这些日期复制到记事本

Xpath 位置

//span[@title='First Name']
//span[@title='Date of Birth']
//span[@title='Email Address']

谢谢

亚瑟B

最佳答案

它应该像这样工作:

String tt = "No more candidates awaiting Authorization";
String nomore = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='ng-scope' and contains(@data-ng-if,'newRequestReceived')]//p[@class='ng-scope' and contains(@data-ng-if,'authRequestCount')]"))).getAttribute("innerHTML");


boolean run = true;

while(run)
{
if (nomore.contentEquals(tt))
{
driver.navigate().to("https://mettl.com/corporate/live-feed#/proctoringDashboard");
driver.findElement(By.xpath("//label[@class='checkbox ng-binding']//input[@type='checkbox']")).click();
driver.findElement(By.xpath("//button[contains(text(),'Authorize')]")).click();
Thread.sleep(750);
System.out.println("Not Available");

}
else
{
System.out.println("Available");
//Thread.sleep(10000);
//break;
run = false; /*Stopps the loop*/
}

}

关于java - 我想要 Do - While 循环,包括 If Else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53413191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com