0

我正在嘗試使用硒webdriver單擊不同類中的按鈕。的網頁爲如下:如何按下具有相同ID但按不同類別的按鈕?

<div class="fade tab-pane" id="mm9-tab-content" role="tabpanel"> 
 
    <div class="button-submit"> 
 
    <button class="btn btn-primary btn-lg btn-block post" id="download" type="button">Download</button> 
 
    </div> 
 
</div> 
 

 
<div class="fade tab-pane" id="dm3-tab-content" role="tabpanel"> 
 
    <div class="button-submit"> 
 
    <button class="btn btn-primary btn-lg btn-block post" id="download" type="button">Download</button> 
 
    </div> 
 
</div>

的數據是在2類mm9-tab-contentdm3-tab-content。我想讓系統點擊dm3-tab-content中的下載按鈕。

我嘗試使用

driver.find_element_by_xpath('xpath = (//*@id="download")[1]').click() 

得到的download二審,但它似乎並沒有工作。有任何想法嗎?

+0

的ID都應該是獨一無二的。 – Barmar

+0

嘗試find_element_by_css('#dm3-tab-content #download') – yong

回答

0

你的XPath似乎是無效的按鈕。嘗試下面代替

driver.find_element_by_xpath('(//*[@id="download"])[2]').click() 

需要注意的是,不像在Python中的XPath節點從指數開始1,所以第二個元素應該有指數[2]

0

如果你知道其中的按鈕出現,且其順序一個你想使用,你可以找到所有用id =「下載」的元素,使用find_elements_by_css_selector

buttons = driver.find_elements_by_css_selector('#download') 

然後,您可以按順序訪問每個按鈕。

0

要點擊下MM9標籤內容類使用

driver.find_element_by_css_selector('#mm9-tab-content #download').click() 

要點擊的按鈕下DM3標籤內容類使用

driver.find_element_by_css_selector('#dm3-tab-content #download').click() 
相關問題