[英]Click on each and every radio-button of a page
我试图依次单击此页面左侧的每个按钮。
每个单选按钮都有一个值:第一个是value = 4,最后一个是value = 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()
我在这里的“ i”或什至只是放上我时都遇到了问题。 我不知道为什么
如果我做 :
radio=driver.find_element_by_css_selector("input[value='5']")
要么
radio=driver.find_element_by_css_selector("input[value='6']")
它完美地工作。
为什么会这样 ?
另外,这不是我认为的最有效方法。
当你做-
for i in range(0,32) :
radio=driver.find_element_by_css_selector("input[value='i']")
i
的值不会在那里自动替换,相反,您实际上是在尝试选择一个值= i
的元素。 使用str.format()
代替i
的正确值。
另外,您应该从4到33范围开始,如-所说的range(4,33)
-
第一个是value = 4,最后一个是value = 32
范例-
for i in range(4,33) :
radio=driver.find_element_by_css_selector("input[value='{}']".format(i))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.