Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 硒没有点击_Python 3.x_Macos_Selenium_Selenium Chromedriver - Fatal编程技术网

Python 3.x 硒没有点击

Python 3.x 硒没有点击,python-3.x,macos,selenium,selenium-chromedriver,Python 3.x,Macos,Selenium,Selenium Chromedriver,我正在用硒铬驱动为一个厨师做脚本。 问题是它既没有单击cookie也没有升级。 我已经玩了大约两天的代码,但我对类没有太多经验。 请测试一下,看看你是否能解决它,不要担心课程安排的不同,我只是想看看我做错了什么。 希望您也能向我解释一下,这样我就可以了解更多关于selenium、python和类的信息 from selenium import webdriver from time import sleep class COOKIEBOT2000(object): def __init

我正在用硒铬驱动为一个厨师做脚本。 问题是它既没有单击cookie也没有升级。 我已经玩了大约两天的代码,但我对类没有太多经验。 请测试一下,看看你是否能解决它,不要担心课程安排的不同,我只是想看看我做错了什么。 希望您也能向我解释一下,这样我就可以了解更多关于selenium、python和类的信息

from selenium import webdriver
from time import sleep
class COOKIEBOT2000(object):

    def __init__(self,upgrade=1,click=1,prints=1):
        self.upgrade = upgrade
        self.click = click
        self.prints = prints
        self.cursor = 0
        self.grandma = 0
        self.farm = 0
        self.mine = 0
        self.factory = 0
        self.temple = 0
        self.wizard = 0
        self.driver = webdriver.Chrome ("Path too chromedriver")
    def Clicker(self):
        try:
            if self.click == 1:
                if self.prints == 1:
                    print ("clicking")
                    print(self.driver)
                i = 0
                while i < 11:
                    click = driver.find_element_by_id("bigCookie")
                    click.click()
                    i = i + 1
                    print (i)
                if self.prints == 1:
                        click = driver.find_element_by_id("cookies")
                        click.click()
                        click = click.text
                        money = click.split("\n")
                        money = money[0].split(" ")
                        money = int(money[0])
                        print (money)
                self.Upgrader()
        except:
            self.Upgrader()
    def Upgrader(self):
        if self.upgrade == 1:
            if self.prints == 1:
                print ("Upgrading")
            try:
                click = driver.self.find_element_by_id("product0")
                if click.get_attribute("class") == "product unlocked enabled":
                    if self.cursor < 51:
                            click.click()
                            self.cursor = self.cursor + 1
                click = driver.self.find_element_by_id("product1")
                if click.get_attribute("class") == "product unlocked enabled":
                    if self.grandma < 7:
                            click.click()
                            self.grandma = self.grandma + 1
                click = driver.self.find_element_by_id("product2")
                if click.get_attribute("class") == "product unlocked enabled":
                    if self.farm < 41:
                            click.click()
                            self.farm = self.farm + 1
                click = driver.self.find_element_by_id("product3")
                if click.get_attribute("class") == "product unlocked enabled":
                    if self.mine < 41:
                            click.click()
                            self.mine = self.mine + 1
                click = driver.self.find_element_by_id("product4")
                if click.get_attribute("class") == "product unlocked enabled":
                    if self.factory < 51:
                            click.click()
                            self.factory = self.factory + 1
                click = driver.self.find_element_by_id("product5")
                if click.get_attribute("class") == "product unlocked enabled":
                    if self.temple < 51:
                            click.click()
                            self.temple = self.temple + 1
                click = driver.self.find_element_by_id("product6")
                if click.get_attribute("class") == "product unlocked enabled":
                    if self.wizard < 51:
                            click.click()
                            self.wizard = self.wizard + 1
                self.Clicker()
            except:
                self.Clicker()
                return
    def Start(self):
        self.driver.get("http://orteil.dashnet.org/cookieclicker/")
        sleep(1)
        if self.prints == 1:
            print("begun")
        self.Clicker()
CK = COOKIEBOT2000()
CK.Start()
从selenium导入webdriver
从时间上导入睡眠
类COOKIEBOT2000(对象):
定义初始化(自我,升级=1,点击=1,打印=1):
self.upgrade=升级
self.click=单击
self.prints=打印
self.cursor=0
self.grandma=0
self.farm=0
self.mine=0
self.factory=0
self.temple=0
self.wizard=0
self.driver=webdriver.Chrome(“路径太chromedriver”)
def点击器(自身):
尝试:
如果self.click==1:
如果self.prints==1:
打印(“点击”)
打印(自驱动程序)
i=0
而我<11:
单击=驱动程序。按\u id(“bigCookie”)查找\u元素
点击。点击()
i=i+1
印刷品(一)
如果self.prints==1:
单击=驱动程序。按\u id(“cookies”)查找\u元素\u
点击。点击()
click=click.text
金钱=点击分割(“\n”)
货币=货币[0]。拆分(“”)
货币=int(货币[0])
印刷品(货币)
自我升级程序()
除:
自我升级程序()
def升级器(自):
如果self.upgrade==1:
如果self.prints==1:
打印(“升级”)
尝试:
单击=driver.self.find\u element\u by\u id(“product0”)
如果单击.get_属性(“类”)=“产品解锁已启用”:
如果self.cursor<51:
点击。点击()
self.cursor=self.cursor+1
单击=driver.self.find\u element\u by\u id(“product1”)
如果单击.get_属性(“类”)=“产品解锁已启用”:
如果self.grand<7:
点击。点击()
self.grandma=self.grandma+1
单击=driver.self.find\u element\u by\u id(“product2”)
如果单击.get_属性(“类”)=“产品解锁已启用”:
如果自助农场<41:
点击。点击()
自助农场=自助农场+1
单击=driver.self.find\u element\u by\u id(“product3”)
如果单击.get_属性(“类”)=“产品解锁已启用”:
如果self.mine<41:
点击。点击()
self.mine=self.mine+1
单击=driver.self.find\u element\u by\u id(“product4”)
如果单击.get_属性(“类”)=“产品解锁已启用”:
如果自身工厂<51:
点击。点击()
self.factory=self.factory+1
单击=driver.self.find\u element\u by\u id(“product5”)
如果单击.get_属性(“类”)=“产品解锁已启用”:
如果self.temple<51:
点击。点击()
self.temple=self.temple+1
单击=driver.self.find\u element\u by\u id(“product6”)
如果单击.get_属性(“类”)=“产品解锁已启用”:
如果self.wizard<51:
点击。点击()
self.wizard=self.wizard+1
self.Clicker()
除:
self.Clicker()
返回
def启动(自):
self.driver.get(“http://orteil.dashnet.org/cookieclicker/")
睡眠(1)
如果self.prints==1:
打印(“开始”)
self.Clicker()
CK=COOKIEBOT2000()
CK.Start()

在您的
点击器功能中,替换此功能的每个实例,这一定是一个愚蠢的错误-

driver.find_element_by_id
driver.self.find_element_by_id
由此-

self.driver.find_element_by_id
然后,在
Upgrader
函数中,替换此函数的每个实例-

driver.find_element_by_id
driver.self.find_element_by_id
由此-

self.driver.find_element_by_id 

这样做将使脚本作为游戏的一部分持续执行所有点击。

哪个点击没有发生?所有点击都没有发生,但我认为Shivan Mishra可能已经解决了这个问题。我到家后会查的。你测试脚本了吗?因为这样我现在就可以把它标记为解决方案了@Blue先生:是的,我已经用上面提到的更改测试了脚本。它连续运行,没有任何错误。