gpt4 book ai didi

Python 网络驱动程序 : If-And Statement Not Working With Numeric Values

转载 作者:行者123 更新时间:2023-11-28 22:42:23 25 4
gpt4 key购买 nike

我的 IF-AND 语句运行不正常。这是在 Python 2.7.9 上发生的。

    numberOfActiveConfigs = len(driver.find_elements_by_xpath("//select[@id='active_config']/option"))
for cnt in range (0, 5):
print "Count: ", cnt
temp = len(driver.find_elements_by_xpath("//select[@id='active_config']/option"))
print type(numberOfActiveConfigs)
if numberOfActiveConfigs > 3:
cnt = cnt + 1
else:
numberOfActiveConfigs = temp
cnt = 0
print "Number of Configs: ", numberOfActiveConfigs

基本上,代码将元素的数量存储在表中,然后检查元素的数量是否大于 3。如果是,则它递增计数直到达到“5”并停止。打印语句用于调试。

出于某种原因,尽管计数等于“2”,“if”语句仍返回 TRUE。

Print out:
Count: 0
<type 'int'>
Count: 1
<type 'int'>
Count: 2
<type 'int'>
Count: 3
<type 'int'>
Count: 4
<type 'int'>
Number of Configs: 2

正如您还看到的那样,值“numberOfActiveConfigs”的类型为“int”,所以这不是我将字符串与 int 进行比较的情况。我不知道为什么会这样,我觉得这对我来说将是一个愚蠢的错误。

最佳答案

在我看来你正在使用一个 for 循环,你想要一个 while 循环,因为 for 循环在 0:5 的范围内进行,但是你试图在内部改变它(例如 cnt = cnt + 1) .使用 while 循环,您可以最初设置它 (cnt = 0),然后 while cnt < 5 遍历主体。我认为这将解决您的问题。抱歉措辞不当。

替换

for cnt in range (0, 5):

cnt = o
while cnt < 5:
{body}

关于Python 网络驱动程序 : If-And Statement Not Working With Numeric Values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31795654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com