2017-10-14 16 views
0

我想在Selenium中找到一些元素,并且遇到问题。 还有像ID没有正常的元件等无法找到Selenium中的按钮和href

问题没有1 - >应点击继续按钮

<a _ngcontent-c3="" routerlink="cms" href="/cms">Continue</a> 

问题无2 - >应该点击添加按钮

<button _ngcontent-c11="" aria-label="Add user" class="action-btn add" type="button"> 

Issue 2 html screenshot

我尝试使用PartialLinkText的fidning元素,我试图让自己的CSS选择器/ xPath,但测试用例总是失败...

一个不成功的解决方案的问题1:

WebElement continueButton = driver.findElement(By.partialLinkText("Continue")); 
continueButton.click(); 

有什么建议? 谢谢。

+0

你可以发布错误吗? – NarendraR

+0

嗨,这里是错误的截图: 继续 - 问题 - https://i.stack.imgur.com/zVWkm.png 添加按钮 - 问题 - https://i.stack.imgur.com/AAfYq.png – Pinky

回答

0

您可以找到一流的按钮,我希望使用此XPath您的问题将是 这里您可能XPath是//a[@routerlink='cms'][text()='Continue']//button[@aria-label='Add user']/i']

WebElement继续=(新WebDriverWait(驱动程序,30)) 。直到(ExpectedConditions .elementToBeClickable(By.xpath( “//一个[@ routerlink = 'CMS'] [文本()= '继续']”))); Continue.click();

  WebElement adduser = (new WebDriverWait(driver, 30)) 
        .until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@aria-label='Add user']/i"))); 

      adduser.click(); 
+0

不幸的是不起作用,即使元素是唯一的,当我通过html进行搜索时: org.openqa.selenium.NoSuchElementException:no such element:Unable to locate element:{“method”:“xpath”,“selector”: “//按钮[@ class ='action-btn add']”} – Pinky

+0

之前点击元素等待几秒钟然后尝试点击..我测试你的xpath它似乎没关系。你可以粘贴在你的铬控制台,这样你可以理解,它将能够找到按钮$ x(“//按钮[@ class ='action-btn add']”) – zsbappa

+0

添加Thread.sleep(5000);点击之前结果是一样的。不能弄清楚我做错了什么。有没有更好的选择等待? Thread.sleep为我工作好,直到现在。 – Pinky