gpt4 book ai didi

java - 等待一个浏览器完成操作并在 selenium webdriver 中的另一个浏览器中继续

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

场景

我有两个应用程序,一个是我的主要下单网站,另一个是优惠券生成网站。在我的下订单场景之间,我必须打开一个新的浏览器窗口,其中包含全新的用户代理和其他设置,并创建优惠券,获取优惠券值(value),然后返回到前一个窗口并应用优惠券。

示例代码:

WebDriver driver2 = new FirefoxDriver();
driver2.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver2.get("URL");
driver.get(URL);
System.out.println(URL);

最佳答案

如果我理解正确,您的问题是让第一个 webdriver 等待第二个 webdriver 完成获取优惠券代码。

为此,我的建议是使用线程并让第一个线程等待第二个线程完成。

这是您的Thread 类。它将执行的操作属于 run() 方法。

class ThreadDemo extends Thread {
private Thread t;
private String threadName;
private String coupon;
ThreadDemo( String name){
threadName = name;
System.out.println("Creating " + threadName );
}
public void run() {
WebDriver driver2 = new FirefoxDriver();
//Operations on website
coupon="Something";

}
public String getCoupon(){
if (coupon==null){
return "";
}else{
return coupon;
}
}

public void start (){
System.out.println("Starting " + threadName );
if (t == null){
t = new Thread (this, threadName);
t.start ();
}
}

}

现在只需调用它:

 ThreadDemo T1 = new ThreadDemo( "Coupon-code");
T1.start();
String coupon = "";
while(coupon.equals("")) //<-This can be tweaked in
//order to consume less memory and be faster
coupon=T1.getCoupon();

告诉我效果如何!

关于java - 等待一个浏览器完成操作并在 selenium webdriver 中的另一个浏览器中继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37949558/

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