在Python中单击具有特定名称的元素

时间:2017-08-21 19:42:51

标签: python webpage

我需要找到具有特定名称的元素并单击它。问题是:我有10个不同xpath的元素,我需要点击一个名为“NA”的元素:

    name = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[1]/div/span').text
    name1 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[2]/div/span').text
    name2 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[3]/div/span').text
    name3 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[4]/div/span').text
    name4 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[5]/div/span').text
    name5 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[6]/div/span').text
    name6 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[7]/div/span').text
    name7 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[8]/div/span').text
    name8 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[9]/div/span').text
    name9 = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[10]/div/span').text

    try:
        if name == "NA":
            for i in range(10):
                name.click()
                # action.click(el=name[i]).release().perform().wait(wait)
                # self.delUser()
                # btnBack.click()
                time.sleep(2)

1 个答案:

答案 0 :(得分:0)

for i in range(1,11):
    name = self.driver.find_element_by_xpath('//*[@id="easSettingUserContainer"]/div[%d]/div/span'%(i))
    if name.text == "NA":
        name.click()
        time.sleep(2)