我有3个选择的下拉菜单,我可以单击下拉菜单并查看选择,但不能使用Webdriver脚本单击选择
我尝试使用JS Executor来确定下拉选项。但是看起来它是一个定义的影子根,我无法使用.click()
单击它这是查找客户
的html内容的屏幕截图[![检查元素屏幕截图] [2]] [2]
var Thr=JavaImporter(java.lang.Thread)//import Thread sleep packages
var wait = new pkg.WebDriverWait(WDS.browser,60) //import WebDriverWait Package
var dropdown = WDS.browser.findElement(pkg.By.xpath('//*[@id="select-work"]')).click()
var lastMessage = WDS.browser.executeScript('return document.querySelector("#select-work").shadowRoot.querySelector("#ink-select > option:nth-child(3)")._value').click()
WDS.log.info('lastMessage is: ' + lastMessage)```
We are not able to click on the look up customer dropdown
[1]: https://i.stack.imgur.com/cyqCG.png
[2]: https://i.stack.imgur.com/IGvD1.png
答案 0 :(得分:0)
根据我的个人经验,Selenium与Angular Js Automation的配合并不理想。我建议为Angular使用基于硒的工具,Protractor
请检查一下,并告知我是否需要其他帮助
此外,我们可以尝试使用索引来选择下拉列表,而不是单击并选择。下面是它的C#代码
var dropdown = driver.FindElement(By.XPath("")); // replace "" with xpath of dropdown
var selectElement = new SelectElement(dropdown);
selectElement.SelectByIndex(1); //pass your required index in parameter