Selenium java - 无法单击选项卡锚点视图

时间:2017-11-20 19:57:45

标签: java selenium-webdriver tabs click href

我无法点击并打开视图。请帮忙。

我的屏幕包含多个相同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>

当屏幕打开时,默认情况下会有一个名为&#34; Line Items&#34;已被选中,但我想点击另一个名为&#34; Deal&#34;的视图。我可以使用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

请帮忙。谢谢!

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

要点击名为"Deal"的其他视图,您可以使用以下代码行:

WebDriverWait wait_4_link = new WebDriverWait(driver, 10);
wait_4_link.until(ExpectedConditions.elementToBeClickable(By.linkText("Deal"))).click();