单击页面的每个单选按钮

时间:2015-08-09 08:04:33

标签: python selenium

我正在尝试连续点击this page左侧的每个按钮。

每个单选按钮都有一个值:第一个是值= 4,最后一个是值= 32

所以我认为我可以像这样循环进入那些值:

from selenium import webdriver
from selenium.webdriver.support.ui import Select


driver = webdriver.Firefox()
driver.get("http://www.specific-diets.com/product-finder/dog?PageSize=1001&SpecificDogBreedSize=4&SpecificSpecialNeeds=20")



for i in range(0,32) : 
    radio=driver.find_element_by_css_selector("input[value='i']")
    radio.click()

我遇到'我'或者甚至当我放我时都有问题。我不知道为什么。

如果我这样做:

    radio=driver.find_element_by_css_selector("input[value='5']")

    radio=driver.find_element_by_css_selector("input[value='6']")

完美无缺。

为什么会这样?

此外,这不是我认为最有效的方式。

1 个答案:

答案 0 :(得分:0)

当你这样做时 -

for i in range(0,32) : 
    radio=driver.find_element_by_css_selector("input[value='i']")

i的值不会自动替换,而是您实际上尝试选择值为i的元素。请使用str.format()代替i的正确值。

另外,你应该从4到33开始,As - range(4,33)如你所说 -

  

第一个是值= 4,最后一个是值= 32

示例 -

for i in range(4,33) : 
    radio=driver.find_element_by_css_selector("input[value='{}']".format(i))
相关问题