2017-11-20 8 views
0

私はビューをクリックして開くことができません。助けてください。Selenium java - タブのアンカービューをクリックできません

私の画面には同じclass="ui-tabs-anchor"href="#s_vctrl_div_tabScreen_noop"の複数のビューが含まれていますが、テキストは異なります。

コードは以下の通りです:画面が開いたら

<li class="ui-state-default ui-corner-top ui-tabs-active ui-state-active siebui-active-navtab" role="tab" tabindex="0" aria-controls="s_vctrl_div_tabScreen_noop" aria-labelledby="ui-id-434" aria-selected="true" aria-expanded="true" aria-label="Deal Selected"> 
<a id="ui-id-434" class="ui-tabs-anchor" href="#s_vctrl_div_tabScreen_noop" data-tabindex="tabScreen6" role="presentation" tabindex="-1">Deal</a> 
</li> 

、「ライン・アイテム」と呼ばれ、デフォルトでは1つのビューを選択しますが、私は「ディール」と呼ばれる別のビューをクリックしています。私はfirepathを使用して以下のようにビューの名前を見つけることができています: enter image description here

私は以下のように私のコードを書いた:

String string1000 = "//*[contains(.//a,'Deal')]"; 
WebDriverWait wait90 = new WebDriverWait(driver1,60); 
wait90.until(ExpectedConditions.elementToBeClickable(By.xpath(string1000))).click(); 

しかし、それが実行されるとき、それはビューをクリックしようとするので、私たちが見ますビューが強調表示されている(黒になっている)スクリーンショットでは、ITがクリックされていないように見えるので、ビューは開かれません。 enter image description here

助けてください。ありがとう!

+0

を使用すると、クリックみました親の 'li'タグに?また、xpathを試すこともできます: '' // a [contains(text()、 'Deal')] ''そしてそれが動作すれば教えてください。 –

+0

私はliタグを試しましたが、それはまったく同じように動作します。クリックされません。 – Sanjay

+0

なぜxpath: "// a [contains(text()、 'Deal')]"ファイヤーパスを使用しているときに要素を見つけられません...それも機能しません – Sanjay

答えて

0

すると、次を試してみてください。

WebElement string1000 = driver.findElement(By.xpath("//*[contains(.//a,'Deal')]")); 
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", string1000); 

それとも

Actions builder = new Actions(webDriver); 
builder.moveToElement(string1000).click(); 
Action build=builder.build(); 
build.perform(); 
0

​​次のコード行を使用することができますと呼ばれる別のビューをクリックしてください:

WebDriverWait wait_4_link = new WebDriverWait(driver, 10); 
wait_4_link.until(ExpectedConditions.elementToBeClickable(By.linkText("Deal"))).click(); 
関連する問題