2016-02-09 16 views
0

我試圖從單選按鈕列表中選取,然後選取我想要的項目。我試圖挑選任意一個單選按鈕,其名稱和ID都不相同,selenium webdriver Python

ele = driver.cl.driver.find_element_by_name("samename") 
ele.click() 

和問題是它始終會選擇第一項。唯一的區別是訂單,並將其值設置爲每個單選按鈕:

<label> 
<input type="radio" name="samename" value="one">first 
</label> 
<label> 
<input type="radio" name="samename" value="two">second 
</label> 
<label> 
<input type="radio" name="samename" value="three">third 

我怎麼能在這裏挑選任意單選按鈕?謝謝

對不起,我只注意到我也有足夠的邏輯:注意使用//input[@value...

def locate_element(self, search_text, xpaths=None): 
    if not xpaths: 
     xpaths = ["//button[normalize-space(text())='{text}']", "//input[@value='{text}']", 
        "//a[child::span[normalize-space(text())='{text}']]", "//a[normalize-space(text())='{text}']"] 
    try: 
     return self.driver.find_element_by_id(search_text) 
    except: 
     try: 
      return self.driver.find_element_by_name(search_text) 
     except: 
      for path in xpaths: 
       try: 
        return self.driver.find_element_by_xpath(path.format(text=search_text)) 
       except: 
        pass 
    return None  

回答

1

它看起來像有在你的代碼沒有問題,你可以試試這個中的XPath:

twoElement = driver.cl.locate_element("two") 
twoElement.click() 
相關問題