Javascript 如何让Python和Selenium通过将链接与用户输入文本匹配来单击angularjs链接?

Javascript 如何让Python和Selenium通过将链接与用户输入文本匹配来单击angularjs链接?,javascript,jquery,python,angularjs,selenium,Javascript,Jquery,Python,Angularjs,Selenium,我想点击的链接是由用户输入的。例如,用户输入变量轨道,“坦帕湾丘陵” 我的python selenium测试程序将搜索以下代码: <a ng-click="updateFavorite()(raceInfo.trackAbbr); $event.stopPropagation();">EV i class="my-icon-favorite-fill my-icon-favorite-fill_active" ng-class="{ 'my-icon-favorite-fil

我想点击的链接是由用户输入的。例如,用户输入变量轨道,“坦帕湾丘陵”

我的python selenium测试程序将搜索以下代码:

<a ng-click="updateFavorite()(raceInfo.trackAbbr); $event.stopPropagation();">EV
  i class="my-icon-favorite-fill my-icon-favorite-fill_active" ng-class="{
  'my-icon-favorite-fill' : !showActionFeedback, ...onFeedback, 'rotating spinner' :
  showActionFeedback}" update-favorite-action-feedback="" qa-label="race-favorite-icon">
    ::before
   </i>
</a>
<span class="ng-binding" ng-bind="::raceInfo.trackName" qa-label="race-track-name">
Tampa Bay Downs</span>
</td>

您可以选择使用
xpath
使用前面的同级查找包含曲目名称(即Tampa Bay Downs)的span标记之前的
a

或者更具体地说,使用span类名称:

 "//span[@qa-label='race-track-name' and contains(.,'{}')]/preceding-sibling::a".format(track) 

您可以使用xpath和
“//span[包含(,{}')]/前面的兄弟姐妹::a.格式化(track)
,或者使用类名来更具体地
”//span[@qa label='race-track-name'和contains(,,{}')]/前面的兄弟姐妹姐妹::a.格式化(track)
也不使用覆盖语句,只使用语句,捕获您所期望的内容。感谢您的及时回复(和建议)Padraic,我现在尝试一下。它成功了。如果你将答案作为答案发送,我会检查它。非常感谢!不用担心,我将它作为答案添加。
"//span[contains(.,'{}')]/preceding-sibling::a".format(track) 
 "//span[@qa-label='race-track-name' and contains(.,'{}')]/preceding-sibling::a".format(track)