如果id和xpath不起作用,我如何在此代码中添加click函数

时间:2016-11-03 08:03:25

标签: css xpath selenium-webdriver css-selectors classname

这是应用程序代码

<div class="btn-group" style="margin-top: -10px; box-shadow: none !important;">
            <a class="btn btn-clear store-name headerActive" style="margin-left: 0px !important;" ng-click="account();" _href="#/app/account-addresses">
              <div class="left-logo ng-binding">SK</div><h5 class="logo-name ng-binding">sathish kumar krish</h5>
            </a>
      </div>

我的webdriver脚本。

driver.findElement(By.xpath("/html/body/div[2]/div[1]/div/div/div[1]/div/a")).click();

2 个答案:

答案 0 :(得分:0)

试试这个 -

WebDriverWait wait = new WebDriverWait(Driver, 10); // Wait for 10 seconds.
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/div[2]/div[1]/div/div/div[1]/div/a")));
WebElement element = driver.findElement(By.xpath("/html/body/div[2]/div[1]/div/div/div[1]/div/a"));
element.click();

答案 1 :(得分:0)

我遇到过类似的问题,但我不确定是什么原因造成的。在这种情况下,您可能正在使用JavaScript点击事件。如下所示,

WebElement element = driver.findElement(By.id("<<<Your ID>>>"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

希望这有帮助!