2015-01-12 93 views
0

下面是html代码,我需要帮助创建CSS选择器,我尝试使用XPath,但一些控件是动态的页面,使Xpath每隔一个控制选择不同。需要帮助创建CSS选择器的单选按钮组为硒的webdriver

<buttons-radio class="btn-group form-100 form-right ng-isolate-scope" options="trueFalseOptions" model="vehicle.CustomEquipment" data-toggle="buttons-radio"> 
    <label class="btn btn-default btn-sm form-50 ng-scope ng-binding" analytics-event="primary driver Yes" analytics-on="click" ng-click="activate(option)" ng-repeat="option in options" ng-class="{active: isActive(option)}">Yes </label> 
    <label class="btn btn-default btn-sm form-50 ng-scope ng-binding active" analytics-event="primary driver No" analytics-on="click" ng-click="activate(option)" ng-repeat="option in options" ng-class="{active: isActive(option)}">No </label> 
+1

请添加HTML代码段,然后更多的信息,你的问题。 –

+0

我已经添加了代码,不确定它为什么不显示给你。当我编辑代码已经在那里时, – Surabhi

回答

0

我假设你想定位“是”和/或“否”标签“按钮,无线电”元素。下面的CSS选择器应为你工作:

1为 '是':

buttons-radio[model='vehicle.CustomEquipment'] label:nth-of-type(1) 

2-对于 '不':

buttons-radio[model='vehicle.CustomEquipment'] label:nth-of-type(2) 

如果你是不一定使用css-selectors,你可以使用xpath,或者如下图所示:

1为 '是':

//buttons-radio[@model='vehicle.CustomEquipment']/label[contains(text(),'Yes')] 

2-对于 '不':

//buttons-radio[@model='vehicle.CustomEquipment']/label[contains(text(),'No')] 
+0

谢谢Subh,它真的帮了很多忙。你知道任何有关xPath和CSS的教程吗?我不知道我可以像这样创建xpath。我试图使用分层xpath – Surabhi

+0

很高兴它解决了。请将此标记为答案..谢谢.. :)在另一个注释中,此链接将帮助您形成相对的xpath和css选择器:[https://www.simple-talk.com/dotnet/.net-框架/的xpath,-CSS,-dom和 - 硒最罗塞塔石/(https://www.simple-talk.com/dotnet/.net-framework/xpath,-css,-dom-and -selenium-the-rosetta-stone /) – Subh

+0

感谢您的所有帮助。这个网站看起来非常好,并解释了一切。谢谢! – Surabhi