javascript - WebDriver:WAITING 'JS Popup Screen' 加载而不使用 Thread.sleep()

标签 javascript java selenium selenium-webdriver webdriver

加载弹出窗口后无法单击单选按钮

*请注意,我过去曾提出过一个问题,但我想避免使用 Thread.sleep
Link :

场景(成功)
1.如果我直接通过以下URL访问任何小屋:
2. 我成功地单击了选择单选按钮“稍后订购”的链接


场景(未成功)
1.如果我访问必胜客URL :
2.点击披萨按钮
3. 点击任意“披萨类型”开始订购按钮
4. 当出现本地化页面时 > 输入邮政编码“AL1 2PS” > 单击“查找小屋”
5. 我的脚本无法单击“稍后订购”单选按钮
6. 但是在成功的情况下我可以点击链接吗?
7.我尝试了很多等待和自定义等待,js等待,但我唯一一次能够成功点击链接是使用Thread.sleep()

请问有人可以建议解决该问题吗?

非常感谢您的帮助

最佳答案

您没有发布任何代码,所以我不确定您尝试过什么。我编写了下面的代码并且它有效。

String pizzaType = "Hawaiian"; // the pizza type from the Pizza menu
String postcode = "AL1 2PS";
String url = "https://www.pizzahut.co.uk/";
driver.get(url);
driver.findElement(By.linkText("Pizza")).click(); // click Pizza menu
driver.findElement(By.xpath("//h3[text()='" + pizzaType + "']/../../../..//button")).click(); // click a pizza type specified by pizzaType
driver.findElement(By.id("ajax-postcode-txt")).sendKeys(postcode); // enter a postcode
driver.findElement(By.id("get-store-btn")).click(); // click "Find a Hut"
driver.findElement(By.cssSelector("input[data-value='later']")).click(); // click "Order for later"

关于javascript - WebDriver:WAITING 'JS Popup Screen' 加载而不使用 Thread.sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39598044/

相关文章:

javascript - 如何在javascript中将此字符串 "09-March-2018"转换为Unix时间戳?

java - 未找到数据库 EclipseLink

java - ASCII值相关查询

javascript - 我可以用 JavaScript 编写 Selenium 测试吗?

javascript - 如何在 React 中呈现以编程方式创建的表?

javascript - 创建一个 javascript 对象并绑定(bind)它

javascript - 使用 javascript 的 facebook 图形 api

java - 在 java 中设置准备和执行查询

python - 使用 Selenium : How to keep logged in after closing Driver in Python in whatsapp

java - 启动appium浏览器时出错:- org. openqa.selenium.WebDriverException : ERROR running Appium command: Arguments to path.解析必须是字符串