0

ドロップダウンリストから要素を選択して先に進むことができないという問題に直面しています。

参考サイトのURLは「http://www.rechargeitnow.com/needrecharge.jspx

以下のコードを試しましたが、成功しませんでした。

//WebDriverWait wait = new WebDriverWait(driver, 10);
//WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid")));
WebDriverWait wait= new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("opId_div")));
//driver.findElement(By.cssSelector("select[id='operatorid']")).sendKeys("Airtel");;

//driver.findElement(By.linkText("mobile")).sendKeys("Airtel");
//driver.findElement(By.xpath("//*[@id='oprauto']")).click();

//driver.findElement(By.xpath("/html/body/div[2]/div/div[6]/div/div/div/div/div[2]/div/div/div/div/div[2]/select/option[5]")).findElement(By.name("Airtel"));
//operator.selectByIndex(1);
//driver.findElement(By.xpath("//*[@id='oprauto']")).sendKeys("Airtel");


driver.findElement(By.xpath("/html/body/div[2]/div/div[6]/div/div[3]/ul/li[3]/img")).click(); 
//Select operator=new Select(driver.findElement(By.id("operatorid")));
//operator.getOptions();
//operator.selectByVisibleText("Airtel");
driver.findElement(By.tagName("                     mobile no.              ")).sendKeys("9001785845");

driver.findElement(By.id("transSubscriptionNoID")).sendKeys("9001457868");
//driver.findElement(By.cssSelector("img[id='btn']")).submit();
//driver.findElement(By.id("btn")).submit();
driver.findElement(By.xpath("//*[@id='btn']"));
4

3 に答える 3

0

次のコードは機能します。これはコードとして提供したかったものではありません。しかし、それでも機能します。Airtel は、ドロップダウンにある他のテキストに置き換えることができます。

driver.findElement(By.id("oprauto")).sendKeys("Airtel");
driver.findElement(By.xpath("//ul/li/a/strong[text() = 'Airtel']")).click();
于 2013-08-13T05:29:06.433 に答える
0

私は Java に詳しくありませんが、次のコードを使用して Ruby でこれを簡単に実現できました。

$driver.find_element(:xpath, ".//*[@id='input_dropdown']/div[1]/img").click
$driver.find_element(:link, "T24").click

「T24」は、ドロップダウンで利用可能な他のオプションに置き換えることができます。うまくいけば、これで少なくともあなたの質問の半分に答え、誰かがこれを Java に翻訳できるでしょう。

于 2013-08-12T22:59:30.010 に答える
0

したがって、コンボ ドロップダウンは選択ボックスではなく、順序付けされていないリストであり、入力がラップされています。ドロップダウン アイコンをクリックしてから、必要な要素をクリックする必要があります。ここにいくつかの汚いコードがあります:)。ドロップダウンから「アイデア」を選択します。

WebDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, 300);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get("http://www.rechargeitnow.com/needrecharge.jspx");
WebElement dropDownArrow = driver.findElement(By
                    .id("input_dropdown"));
dropDownArrow.click();
WebElement option = wait.until(ExpectedConditions
                    .elementToBeClickable(By.linkText("Idea")));
option.click();
于 2013-08-13T01:20:56.747 に答える