2017-07-14 13 views
0

リンクでもある "My account"というテキスト値を返そうとしています。クラスのテキスト値を返そうとしています

ウェブサイトにログインしているかどうかを確認するには、文字列をチェックする必要があります。

私はすべての通常の方法(xpath、css、hrefで)を試みましたが、成功しませんでした。私は明らかに何か間違っています。

誰かがこれで私を助けることができますか?

うまくいけば、html画像は私が達成しようとしていることを示してくれるでしょう。 (表示するコードをクリックしてください)

ここに私がサイトにログインするために使用しているコードです。ログインすると、「My account」というテキストがhrefとして表示されます。私はその後、スプレッドシートに書き込むためにhrefテキストを返したいと思います。

を参照してくださいコードスニペットと私はHREFテキスト文字列を返すようにしようとしたメソッドの一部(私は...より多くのを試してみましたが、didntの仕事として今それらを削除している)

また結果コードを参照してください。

WebElement element_search1 = driver.findElement(By.xpath("//*[@id='login']")); 
driver.findElement(By.xpath("//*[@id='login']")).click(); 

    WebDriverWait wait = new WebDriverWait(driver, 20); 
    wait.until(ExpectedConditions.titleContains("Login - mysite.com"));; 

    WebElement element_search2 = driver.findElement(By.xpath("//*[@id='subscriber_email']")); 
    driver.findElement(By.xpath("//*[@id='subscriber_email']")); 
    element_search2.clear(); 
    element_search2.sendKeys("[email protected]"); 
    element_search2.sendKeys(Keys.TAB); 

// find and enter password 
WebElement element_search3 = driver.findElement(By.xpath("//*[@id='subscriber_password']")); 
driver.findElement(By.xpath("//*[@id='subscriber_password']")); 
element_search3.clear(); 
element_search3.sendKeys("password");  
driver.findElement(By.name("commit")).click(); 

System.out.println(driver.findElement(By.linkText("My account")).getAttribute("class")); 
System.out.println(driver.findElement(By.linkText("My account")).getText()); 

結果

Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"link text","selector":"My account"} 

それは上の失敗:System.out.println(driver.findElement(By.linkText("My account")).getAttribute("class"))

+3

あなたがここで求めていることはあまり明確ではありません... 私たちがクラスを持っていればそれは良いでしょう。 –

+3

こんにちは、覚えて、StackOverflowへようこそ。ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問しないでください。」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[最小限の、完全で検証可能な例](http://stackoverflow.com/help/mcve)の提供方法を​​学んでください。 –

+1

は、試したすべての通常の方法とその出力を表示します。 –

答えて

0

をここであなたの質問への答えです:

クラス「ユーザー情報のテキスト値をretriveするには"すなわちMy accountのコード行を使用することができます:

String my_account = driver.findElement(By.xpath("//nav[@class='main-top-nav']//a[@class='user-info' and contains(@href,'/home/manage_account')]")).getAttribute("innerHTML"); 
System.out.println(my_account); 

これがあなたの質問に答えるかどうか教えてください。

関連する問題