Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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
Javascript 如何在Cookie上多次单击以在中播放Cookie clickerhttps://orteil.dashnet.org/cookieclicker/ 使用Selenium和Python_Javascript_Python_Selenium_Css Selectors_Webdriverwait - Fatal编程技术网

Javascript 如何在Cookie上多次单击以在中播放Cookie clickerhttps://orteil.dashnet.org/cookieclicker/ 使用Selenium和Python

Javascript 如何在Cookie上多次单击以在中播放Cookie clickerhttps://orteil.dashnet.org/cookieclicker/ 使用Selenium和Python,javascript,python,selenium,css-selectors,webdriverwait,Javascript,Python,Selenium,Css Selectors,Webdriverwait,我试图制作一个简单的selenium程序来播放cookie clicker,从我所看到的我不明白它为什么不能在这里工作,这是我的代码 from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains PATH = 'C:\Program Files (x86)\chromedriver.exe' driver = webdriver.Chrome(PATH) drive

我试图制作一个简单的selenium程序来播放cookie clicker,从我所看到的我不明白它为什么不能在这里工作,这是我的代码

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

PATH = 'C:\Program Files (x86)\chromedriver.exe'
driver = webdriver.Chrome(PATH)
driver.get('https://orteil.dashnet.org/cookieclicker/')

driver.implicitly_wait(5)

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

actions = ActionChains(driver)
actions.click(cookie)

for i in range(5000):
    actions.perform()
这是我得到的错误

    Traceback (most recent call last):
  File "c:/Users/ffl_s/Desktop/Botting/My Bot/cookie.py", line 15, in <module>
    actions.click(cookie)
  File "C:\Users\ffl_s\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\common\action_chains.py", line 102, in click
    self.move_to_element(on_element)
  File "C:\Users\ffl_s\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\common\action_chains.py", line 273, in move_to_element
    self.w3c_actions.pointer_action.move_to(to_element)
  File "C:\Users\ffl_s\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\common\actions\pointer_actions.py", line 42, in move_to
    raise AttributeError("move_to requires a WebElement")
AttributeError: move_to requires a WebElement
PS C:\Users\ffl_s\Desktop\Botting\My Bot> [21704:18120:0918/223803.402:ERROR:device_event_log_impl.cc(208)] [22:38:03.402] Bluetooth: bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed.
回溯(最近一次呼叫最后一次):
文件“c:/Users/ffl_s/Desktop/Botting/My Bot/cookie.py”,第15行,在
操作。单击(cookie)
文件“C:\Users\ffl\u s\AppData\Local\Programs\Python\Python38-32\lib\site packages\selenium\webdriver\common\action\u chains.py”,第102行,单击
self.move_到_元素(在_元素上)
文件“C:\Users\ffl\u s\AppData\Local\Programs\Python\Python38-32\lib\site packages\selenium\webdriver\common\action\u chains.py”,第273行,在move\u to\u元素中
self.w3c\u actions.pointer\u action.move\u to(to\u元素)
文件“C:\Users\ffl\u s\AppData\Local\Programs\Python\Python38-32\lib\site packages\selenium\webdriver\common\actions\pointer\u actions.py”,第42行,移动到
提升AttributeError(“移动到需要WebElement”)
AttributeError:move_to需要一个WebElement
PS C:\Users\ffl\u s\Desktop\Botting\My Bot>[21704:18120:0918/223803.402:错误:设备\u事件\u日志\u impl.cc(208)][22:38:03.402]蓝牙:蓝牙适配器\u winrt.cc:1074获取默认适配器失败。

如果要单击5000次并显示cookies文本,可以这样做。 只需安装webdriver manager即可修复二进制文件

from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://orteil.dashnet.org/cookieclicker/')
for i in range(5000):
   ActionChains(driver).move_to_element(driver.find_element_by_id('bigCookie')).click().perform()
items = driver.find_element_by_id('cookies')
print(items.text)

要多次单击Cookie以便播放,您需要引导
元素可单击()
,您可以使用以下任一选项:

  • 使用
    CSS\u选择器

    driver.get('https://orteil.dashnet.org/cookieclicker/')
    for i in range(100):
      driver.execute_script("arguments[0].click();", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#bigCookie"))))
    print(driver.find_element_by_css_selector("#cookies").text)
    
  • 控制台输出:

    80 cookies
    per second : 0
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
  • 浏览器快照:


您好,有什么问题吗?当我尝试运行代码时,它会打开正确的网站,但之后什么也没有发生。请尝试此操作链。是的,有相同的问题selenium的设置不正确。您可以使用命令提示符简单地pip安装。Chrome驱动程序管理器确保您使用的驱动程序适用于您正在使用的Chrome版本。如果你只是安装了它并做了底部处理,你的问题应该会得到解决。只需删除其余部分并使用它。这就是我尝试过的,当我尝试运行它时,它仍然失败。我将发送到哪里不允许我在评论中?