Selenium 无法定位webelement
我找不到webelement,此web应用程序仅在Internet explorer中打开,我使用了所有可能的方式单击,但没有运气。 我尝试过的Xpath定位器: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_
"//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')]