繁体   English   中英

单击页面上的每个单选按钮

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM