【问题标题】:AngularJs page issue with selecting an element and clicking it选择一个元素并单击它的AngularJs页面问题
【发布时间】:2017-03-22 08:40:03
【问题描述】:

我在选择和单击一个元素时遇到问题,所以出现下拉菜单是我迄今为止尝试过的:-

String csspath = "html body.ng-scope f:view form#wdesk.ng-pristine.ng-valid div.container div.ng-scope md-content.md-padding._md md-tabs.ng-isolate-scope.md-dynamic-height md-tabs-content-wrapper._md md-tab-content#tab-content-7._md.ng-scope.md-active.md-no-scroll div.ng-scope.ng-isolate-scope ng-include.ng-scope div.ng-scope accordion div.accordion div.accordion-group.ng-isolate-scope div.accordion-heading a.accordion-toggle.ng-binding span.ng-scope b.ng-binding";
String uxpath = "//html//body//f:view//form//div//div[2]//md-content//md-tabs//md-tabs-content-wrapper//md-tab-content[1]//div//ng-include//div//accordion//div//div[1]//div[1]//a";
String xpath2 = "/html/body/pre/span[202]/a";
xpath = "/html/body/f:view/form/div/div[2]/md-content/md-tabs/md-tabs-content-wrapper/md-tab-content[1]/div/ng-include/div/accordion/div/div[1]/div[1]/a/span/b";
try {
  element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(csspath)));

  locator = By.cssSelector(csspath);
  driver.findElement(locator).click();
} catch (Exception e) {
  System.out.println("Not foune csspath");
}



try {
  element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath)));

  locator = By.xpath(xpath);
  driver.findElement(locator).click();
} catch (Exception e) {
  System.out.println("Not foune xpath");
}

try {
  element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(uxpath)));

  locator = By.xpath(uxpath);
  driver.findElement(locator).click();
} catch (Exception e) {
  System.out.println("Not foune uxpath");
}

try {
  element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath2)));

  locator = By.xpath(xpath2);
  driver.findElement(locator).click();
} catch (Exception e) {
  System.out.println("Not foune xpath2");
}

但是到目前为止没有任何效果我想选择责任代码并赋予它价值

如果您能给我任何见解,将不胜感激 提前致谢 这是我的问题的屏幕截图 enter image description here

【问题讨论】:

  • 你能在问题中正确粘贴 HTML DOM 并使用一些更相关的 HTML 标签吗?
  • 真的很抱歉,但我不能,因为我还没有足够的声誉
  • 好的,如果您使用的网址是公开的,您可以与我分享网址吗?
  • 你所有的xpath真的很长,谷歌关于如何找到好的xpath和css。它应该被拍摄并且应该能够唯一地找到元素。使用addons.mozilla.org/en-US/firefox/addon/firebugaddons.mozilla.org/en-us/firefox/addon/firepath 之类的工具来检查您的XPath 是否有效。
  • 我使用的网址不公开

标签: java angularjs selenium


【解决方案1】:

第一个问题(正如 cmets 中已经指出的那样)是您使用的绝对选择器。例如,尝试重构您的 xpath 选择器并制作 relative

下期是相关的

AngularJs 页面

本身。让我们看看Protractor,它是基于 WebDriverJS 构建的 Angular 测试框架,它提供了额外的类似 WebDriver 的功能来测试基于 Angular 的网站。简单地说——你的代码需要额外的功能来知道 Angular 元素何时可用于交互。

这里是how to port 一些对 Java(和 Python)最有用的 Protractor 函数:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    相关资源
    最近更新 更多