Python 3.x 硒没有点击
我正在用硒铬驱动为一个厨师做脚本。 问题是它既没有单击cookie也没有升级。 我已经玩了大约两天的代码,但我对类没有太多经验。 请测试一下,看看你是否能解决它,不要担心课程安排的不同,我只是想看看我做错了什么。 希望您也能向我解释一下,这样我就可以了解更多关于selenium、python和类的信息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
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先生:是的,我已经用上面提到的更改测试了脚本。它连续运行,没有任何错误。