当webdriver在使用Angular 6开发的站点上运行时,selenium中的isEnabled()函数始终返回true

当webdriver在使用Angular 6开发的站点上运行时,selenium中的isEnabled()函数始终返回true,selenium,selenium-webdriver,angular6,selenium-chromedriver,isenabled,Selenium,Selenium Webdriver,Angular6,Selenium Chromedriver,Isenabled,当webdriver在使用Angular 6开发的站点上运行时,selenium webdriver中的isEnabled()函数始终返回true。我找到的所有关于这个主题的答案都提到了残疾人不是一个属性,而是写在按钮类中。有关详细说明,请查看此链接。 但我正在编写的网站代码并没有在课堂上编写。这是我网站的代码 <button _ngcontent-c61="" class="push-right-sm mat-raised-button mat-primary" color="prim

当webdriver在使用Angular 6开发的站点上运行时,selenium webdriver中的isEnabled()函数始终返回true。我找到的所有关于这个主题的答案都提到了残疾人不是一个属性,而是写在按钮类中。有关详细说明,请查看此链接。 但我正在编写的网站代码并没有在课堂上编写。这是我网站的代码

<button _ngcontent-c61="" class="push-right-sm mat-raised-button mat-primary" color="primary" mat-raised-button="" disabled="">
<span class="mat-button-wrapper">SAVE</span><div class="mat-button-ripple mat-ripple" matripple=""></div><div class="mat-button-focus-overlay"></div></button>

定位器在
按钮
内找到的是
SPAN
,而不是按钮本身。试一试

//button[./span[.='SAVE']]
注意:在这种情况下不需要使用
contains()
,因为整个文本都是“SAVE”,所以我删除了
contains()


这基本上理解为查找一个
按钮
,该按钮有一个
SPAN
,其中包含的文本等于“SAVE”。我在您提供的HTML上对其进行了测试,它正在运行。

发布您用于检查启用的代码。您好@JeffC,我已经添加了我在问题中使用的代码。请查收并回复。
//button[./span[.='SAVE']]