“ValueError: invalid literal for int() with base 10: '1,077'”

时间:2021-06-17 11:14:34

标签: python selenium web-scraping

所以我按照 Techwithtim 在 Youtube 上的教程开始运行脚本(它使用 python 和 selenium)。它工作了一段时间,然后我得到了错误:“ValueError:int() 的无效文字,基数为 10:'1,077'”

我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time

PATH = r"C:\Users\Leander\Documents\scraping\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://orteil.dashnet.org/cookieclicker/")

driver.implicitly_wait(5)

cookie = driver.find_element_by_id("bigCookie")
cookie_count = driver.find_element_by_id("cookies")
items = [driver.find_element_by_id("productPrice" + str(i)) for i in range(1,-1,-1)]

actions = ActionChains(driver)
actions.click(cookie)
for i in range(1000000):
    actions.perform()
    count = int(cookie_count.text.split(" ")[0])
    for item in items:
        value = int(item.text)    #cmd tells me the error is right here
        if value <= count:
            upgrade_actions = ActionChains(driver)
            upgrade_actions.move_to_element(item)
            upgrade_actions.click()
            upgrade_actions.perform()

我认为这可能是因为“items = [driver.find_element_by_id("productPrice" + str(i)) for i in range(1,-1,-1)]”行,因为我没有完全理解它的作用(“范围内”位)。

了解第三次升级需要 1100 个 cookie 可能会有所帮助,因此它在达到该标记之前就崩溃了。升级 1 和 2 多次运行良好。 如果您需要更多信息,只需询问即可。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

字符串 "1,077" 是无效整数。尝试删除 ,

value = int(item.text.replace(',', ''))