Traceback (most recent call last): File "d:\py\import pyautogui.py", line 26, in <module> main() File "d:\py\import pyautogui.py", line 23, in main photo() File "d:\py\import pyautogui.py", line 12, in photo new_box.left = new_left AttributeError: can't set attribute上述代码报了这样的错误,请问如何修改
时间: 2023-12-06 19:11:32 浏览: 108
linux 下 pip3 报错“ File “/usr/bin/pip3”, line 9, in from pip import mainImportError: canno”处理
5星 · 资源好评率100%
这个错误是因为 `new_box` 是 `locateOnScreen()` 函数返回的一个 `Box` 对象,它的属性是只读的,不能修改。如果你想要修改这个 `Box` 对象,可以使用 `Box()` 函数创建一个新的 `Box` 对象,然后把新的左上角坐标赋值给它。修改后的代码如下:
```python
def photo():
help_pos = pyautogui.locateOnScreen("peanut.png")
box = help_pos
new_left = random.uniform(box.width*0.5, 0) + box.left
new_top = random.uniform(box.height*0.5, 0) + box.top
new_box = pyautogui.Box(new_left, new_top, box.width, box.height)
goto_pos = pyautogui.center(new_box)
pyautogui.moveTo(goto_pos, duration=1)
pyautogui.click()
```
这样就能够成功修改左上角坐标了。
阅读全文