我正在使用Java学习Selenium Webdriver。作为一个学习示例,我尝试打开MakeMyTrip,访问“ 国际航班”页面,然后单击Google Chrome中的“ 单向” 单选按钮。我尝试了其他方法来定位此单选按钮,但仍无法正常工作。请在我的代码示例下面找到。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class TryRadioClass { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.setProperty("webdriver.chrome.driver", "Chrome exe path"); WebDriver driver=new ChromeDriver(); driver.get("http://www.makemytrip.com/international-flights"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(45, TimeUnit.SECONDS); boolean displayFlag = driver.findElement(By.linkText("ONE WAY")).isDisplayed(); System.out.println("Display Flag :- "+displayFlag); boolean enableFlag = driver.findElement(By.linkText("ONE WAY")).isEnabled(); System.out.println("Enable Flag :- "+enableFlag); if(displayFlag==true && enableFlag==true) { WebElement element=driver.findElement(By.linkText("ONE WAY")); element.click(); System.out.println("Tried to click One Way"); } } }
谁能帮我解决这个问题?
使用以下代码:-
if(displayFlag==true && enableFlag==true) { try{ Thread.sleep(5000); } catch(Exception ex) { System.out.println(ex.getMessage()); } WebElement element=driver.findElement(By.xpath("//span[@class='radio_state']")); JavascriptExecutor executor = (JavascriptExecutor) driver; executor.executeScript("arguments[0].click();", element); System.out.println("Tried to click One Way"); }
享受..如果仍然遇到任何问题,请与我联系:)