按id-selenium web驱动程序的一部分查找元素

时间:2016-07-22 12:15:53

标签: jquery css selenium

大家好我有元素有这些atr:

<input type="text" class="id-element clearable ui-input-text ui-body-a" data-mini="true" maxlength="50" id="bec563ae2-AccountUser_Name">

我想通过ID找到它,但id=bec563ae2-的部分是为每个用户自动生成的。 然后使用将不起作用:

IWebElement profilUser = driverGC.FindElement(By.Id("id"));

是的仍有办法通过ClassName找到它(但它在这里无效)或CssSelector,但如果我试图通过CssSelector找到它,我将进入这个元素的某些部分,但我将无法使用它(填写名称)。

好的我试过这个,但没有成功:

IWebElement profilUserName = driverGC.FindElement(By.CssSelector(".ui-page-active .msls-dialog-inner-frame .msls-tab-content .msls-first-row .msls-presenter-content .div:nth-child(1)"));
profilUserName.SendKeys("Paul");

3 个答案:

答案 0 :(得分:1)

好像您正在寻找一个ID以特定字符串结尾的元素: 以下是使用css选择器

的方法
driverGC.FindElement(By.CssSelector("input[id$='AccountUser_Name']"));

答案 1 :(得分:0)

如果您正在使用CssSelector,则必须确保字符串中没有空格。

答案 2 :(得分:0)

似乎你仍然可以使用XPath来定位元素。

driver.findElement(By.xpath("xpath expression"))