2

所以我一直在努力学习如何使用SeleniuminC#为项目做一些自动化测试。但是,我在这个问题上遇到了障碍。我一直在想办法点击此网页上的以下链接。

这是我要针对的目标:

<A class='PortalLink' HREF="https://mywebsite.com/myprograms/launchprogram.jsp?" onClick="setUser('login','password');"><span>MyProgram</span></A>

通过搜索ClassName没有发现任何东西。虽然有多个,但我只是想看看我是否能检测到它们的存在。

By.ClassName("PortalLink")

我尝试使用 进行href基于搜索CssSelector,但这也失败了。

By.CssSelector("[href*='https://mywebsite.com/myprograms/launchprogram.jsp?']")

最后,我尝试XPath按类和跨度内容使用和搜索,但这也找不到链接。

By.XPath("//A[contains(@class,'PortalLink') and span[text()='MyProgram']]")))

有问题的网页包含两个我都尝试过的框架。

我在超时前等待 200 秒。我做错了什么?提前感谢您的帮助!

4

2 回答 2

2

假设在 ajax 期间此元素未附加到 DOM,则您的语句应该是

By.CssSelector("a.PortalLink[href*='launchprogram.jsp']")

如果有多个这样的链接,那么我们需要在父子层次结构中更上一层楼,因为这个链接没有更多的属性使这个链接唯一。

于 2013-09-12T21:36:34.927 回答
0

如果您可以发布此链接的父 html,那么我们可以建议更多选项,

你能试试这些吗……

 //span[contains(text(),'MyProgram']
//span[contains(text(),'MyProgram']/../
于 2013-09-13T05:24:10.190 回答