Selenium 无法定位webelement

Selenium 无法定位webelement,selenium,internet-explorer,xpath,Selenium,Internet Explorer,Xpath,我找不到webelement,此web应用程序仅在Internet explorer中打开,我使用了所有可能的方式单击,但没有运气。 我尝试过的Xpath定位器: "//form[@id='Form1']//a[contains(text(),'Age Range')]" 及 此外,我还尝试使用action类和javascript单击元素 在URL中附加了DOM,请看一看除了firefox,我根本没有在IE中尝试过任何自动化,有时我会遇到这些问题,我的解决方法是.click()函数是send_

我找不到webelement,此web应用程序仅在Internet explorer中打开,我使用了所有可能的方式单击,但没有运气。 我尝试过的Xpath定位器:

"//form[@id='Form1']//a[contains(text(),'Age Range')]"

此外,我还尝试使用action类和javascript单击元素


在URL中附加了DOM,请看一看

除了firefox,我根本没有在IE中尝试过任何自动化,有时我会遇到这些问题,我的解决方法是.click()函数是send_keys(keys.RETURN)。另外,我正在使用time.sleep(x)在单击或发送键之前确保元素已加载。

在节点
a
中,
id
值不是静态的,因此您无法使用
id
值定位该元素,但您可以使用部分
id
值,看起来
rptTables1
在id值上是唯一的,其余部分正在更改,因此在该表上应用
contains()
可能有效

如果只有匹配项,请尝试以下xpath:

//a[contains(@id, 'rptTables1_')]
如果存在多个xpath匹配项,请通过提供匹配索引来尝试以下xpath:

(//a[contains(@id, 'rptTables1_')])[Matching index number]
例如,如果匹配的索引是
3
,那么您可以这样编写
(//a[contains(@id,'rptTables1')])[3]

或者,您可以使用高级性能参数面板主题文本来识别该元素

//a[contains(text(), 'Advanced Performance Parameters Panel Topics')]
同样,如果有多个匹配项,则尝试使用如上所述的索引方法

或者,您可以尝试以下修改您的XPath:

//form[@id='Form1']//a[contains(@id, 'rptTables1_')]


我希望它能帮上忙…

谢谢愤怒我尝试了你的方法但没有成功,事实上我甚至找不到我得到的“InvalidSelector The xpath Expression”的Web元素,我已经附加了DOM屏幕截图的链接,请看一看。另外,我使用了thread.sleep(2000)只是为了给一些时间,但不起作用。嗨@Amit Vishnu Sharma,你能用你提到的定位器定位元素吗?
//form[@id='Form1']//a[contains(@id, 'rptTables1_')]
(//form[@id='Form1']//a[contains(@id, 'rptTables1_')])[Matching index number]
//form[@id='Form1']//a[contains(text(), 'Advanced Performance Parameters Panel Topics')]