0
我正在编写可以登录到网站的测试。我使用C#和Selenium。
1)密码有两个ID?!为什么有人会像这样编码?
2)ID包含动态数字,每次加载页面时都会改变。Selenium在ID为动态时选择具有多个属性的元素
唯一不同的是名为ID是:
id="txtPassword_155799780_I_CLND"
id="txtPassword_155799780_I"
我什么都试过。
driver.FindElement(By.XPath(".//div[starts-with(@id,'txtPass') and contains(@text(),'I_CLND')]"));
driver.FindElement(By.XPath("//input[starts-with(@id,'txtPassword_')]")[2]);
<input class="dxeEditArea_DevEx dxeEditAreaSys dxh0" id="txtPassword_156029875_I_CLND" type="text" tabindex="0" saveddisplay="[object Object]">
<input class="dxeEditArea_DevEx dxeEditAreaSys dxh0" id="txtPassword_156029875_I" name="txtPassword_156029875" onfocus="ASPx.EGotFocus('txtPassword_156029875')" onblur="ASPx.ELostFocus('txtPassword_156029875')" onchange="ASPx.EValueChanged('txtPassword_156029875')" type="password" saveddisplay="[object Object]" savedspellcheck="[object Object]" spellcheck="false" style="display: none;">
感谢
感谢您添加html。为你增加了一些选项。 – Dazed
我确实编辑了我的问题,我希望现在更清楚。 –
尝试上述,如果它工作接受答案。如果不让我们知道发生了什么。 – Dazed