2017-01-20 29 views
0

我在選擇此按鈕時遇到了一些問題。 每次網站重新加載時,隨機生成id(08aa0e806e775dc4e84cc7b0fc4d7b41465ad69f)部分。如何從Angular random id,Selenium + Python中選擇一個按鈕類

任何想法?

<button class="btn-primary btn btn-sm " ng-attr-id="button_{{ button.label }}_{{ button.id }}" ng-if="!readOnlyForm || (showRedirectButtonsInReadOnly &amp;&amp; button.redirectAddress)" data-ng-disabled="walkInProgress || fullPage.$invalid" ng-repeat="button in processDetails.form.edgeButtons" ng-click="walk(button.edgeNumber, button.redirectAddress)" ng-bind-html="button.label | ecs_to_trusted" id="button_Wyślij zgłoszenie_08aa0e806e775dc4e84cc7b0fc4d7b41465ad69f">Wyślij zgłoszenie</button> 
+0

它是唯一的類'btn-primary btn btn-sm'的按鈕嗎? – hansaplast

+0

不,這個班有其他按鈕。 – RadekE

+0

按鈕的獨特之處是什麼?文本(如下面的答案所示)? – hansaplast

回答

2

您可以嘗試使用文本值來選擇它:

driver.find_element_by_xpath('//button[text()="Wyślij zgłoszenie"]').click() 
+0

此解決方案工作!非常感謝你! – RadekE

0

在這樣的情況下的典型方法是組成一個CSS選擇器或XPath看起來在上下文中的按鈕。您沒有提供任何周圍的源代碼,但檢查它是否在具有唯一類或ID的div內,並從中創建路徑。 css選擇器可能看起來像這樣:

div.unique_div_path button.btn-primary 
+0

那麼按鈕是在幾個div中,他們只有角度類。 – RadekE

相關問題