2016-09-20 2 views
0

Невозможно нажать на радио кнопки, после того, как всплывающее окно загрузитсяWebDriver: Ожидание «JS всплывающий экран» для загрузки без использования Thread.sleep()

* Пожалуйста, обратите внимание, я поднял вопрос в прошлом, но я хочу, чтобы избежать использования Thread.sleep
Link:

сценария (успешно)
1. Если я получить доступ к любой хижине непосредственно через следующие URL:
2. И успешно в состоянии нажать на ссылку, которая выбирает радио кнопка 'Заказ на более поздний'


Сценарий (не успешна)
1. Если я получить доступ к Pizza Hut URL:
2. Нажмите кнопку Пицца
3. Нажмите любую 'Pizza Type' Начните свой заказ кнопку
4 . Когда появится страница локализации> введите почтовый индекс «AL1 2PS»> нажмите найти хижину
5. Мой скрипт не может нажать на кнопку «Заказать для позже»
6. Но в сценарии «Успешное» iam можно щелкнуть по ссылке?
7. Я перепробовал много ждет и пользовательские ожидания, Я.С. ждет, но только время Иам успешно в состоянии нажать на ссылку использует Thread.sleep()

Пожалуйста, может кто-нибудь советы по решению проблемы?

Большое спасибо вам помочь

+0

Какую версию селена вы используете? Вы пробовали обновление до последнего? – maxTrialfire

ответ

1

Вы не отправлял никакого кода, так что я не уверен, что все, что вы пробовали. Я написал код ниже, и он работает.

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" 
+0

Спасибо @Jeffc за помощь, код сработал! – Gbru

+0

Если это ответили на ваш вопрос, отметьте его как принятый, и если вы сочтете это полезным (или любым ответом на этот счет), пожалуйста, воздержитесь от него. – JeffC

Смежные вопросы