我无法点击并打开视图。请帮忙。
我的屏幕包含多个相同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找到如下所示的视图名称:
我编写了如下代码:
String string1000 = "//*[contains(.//a,'Deal')]";
WebDriverWait wait90 = new WebDriverWait(driver1,60);
wait90.until(ExpectedConditions.elementToBeClickable(By.xpath(string1000))).click();
但是当它执行时,它会尝试单击视图,因此我们在屏幕截图中看到视图突出显示(变为黑色),但似乎IT未被点击,因此视图未打开。
请帮忙。谢谢!
答案 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();