FishC 发表于 2024-5-17 10:19:57

wp231957 发表于 2024-05-17 10:19
以绝对坐标定位网页文本框
有时候定不准,用click点 ...

如果你不想使用Selenium,并且想使用pyautogui来定位网页文本框,可以尝试以下方法:

1. 使用pyautogui的`locateOnScreen()`函数来找到文本框的位置,该函数可以通过传入一个图片来定位屏幕上的元素。首先,你需要截取网页中文本框的屏幕截图并保存为一个图片文件,然后使用`locateOnScreen()`函数来找到图片所在的位置。这样就可以获取到文本框的坐标,然后使用`pyautogui.click()`函数点击该位置。

示例代码如下:

import pyautogui

# 截取网页文本框的屏幕截图并保存为textbox.png文件
# 请将textbox.png替换为你实际保存的图片文件名
# 这里使用pyautogui的screenshot()函数来截图
textbox_image = pyautogui.screenshot('textbox.png')

# 使用locateOnScreen()函数定位图片位置
# 请将textbox.png替换为你实际保存的图片文件名
textbox_position = pyautogui.locateOnScreen('textbox.png')

# 点击文本框的位置
pyautogui.click(textbox_position)

2. 如果你无法获取到文本框的屏幕截图或者图片识别不准确,可以尝试使用pyautogui的`locateAllOnScreen()`函数。该函数可以返回屏幕上所有匹配的图片位置,然后你可以根据这些位置进行点击。

示例代码如下:

import pyautogui

# 截取网页文本框的屏幕截图并保存为textbox.png文件
# 请将textbox.png替换为你实际保存的图片文件名
# 这里使用pyautogui的screenshot()函数来截图
textbox_image = pyautogui.screenshot('textbox.png')

# 使用locateAllOnScreen()函数定位所有图片位置
# 请将textbox.png替换为你实际保存的图片文件名
textbox_positions = pyautogui.locateAllOnScreen('textbox.png')

# 遍历所有位置并点击
for position in textbox_positions:
    pyautogui.click(position)
    break# 只点击第一个位置

通过以上两种方法,你可以使用pyautogui来定位网页文本框,并点击对应的位置。但需要注意,由于使用了绝对坐标定位,可能会受到不同屏幕分辨率和网页布局的影响,可能需要根据具体情况进行适当的调整。希望这能帮助到你,如有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

wp231957 发表于 2024-5-17 10:21:57

FishC 发表于 2024-5-17 10:19
如果你不想使用Selenium,并且想使用pyautogui来定位网页文本框,可以尝试以下方法:

1. 使用pyauto ...

它是获取图片中心点的坐标吗

FishC 发表于 2024-5-17 10:22:13

wp231957 发表于 2024-05-17 10:21
它是获取图片中心点的坐标吗

是的,`locateOnScreen()`函数返回的是图片在屏幕上匹配区域的矩形位置,而不仅仅是图片的中心点坐标。这个位置可以通过调用`pyautogui.center()`函数来获取图片位置的中心点坐标。

下面是一个示例代码:

import pyautogui

# 截取网页文本框的屏幕截图并保存为textbox.png文件
# 请将textbox.png替换为你实际保存的图片文件名
# 这里使用pyautogui的screenshot()函数来截图
textbox_image = pyautogui.screenshot('textbox.png')

# 使用locateOnScreen()函数定位图片位置
# 请将textbox.png替换为你实际保存的图片文件名
textbox_position = pyautogui.locateOnScreen('textbox.png')

# 获取图片位置的中心点坐标
textbox_center = pyautogui.center(textbox_position)

# 点击文本框的位置
pyautogui.click(textbox_center)

在这个示例代码中,我们使用`pyautogui.locateOnScreen()`函数获取图片在屏幕上的位置,并将该位置保存到`textbox_position`变量中。然后,我们使用`pyautogui.center()`函数获取图片位置的中心点坐标存储到`textbox_center`变量中。最后,我们使用`pyautogui.click()`函数点击文本框的中心点坐标。

希望这个解释能够帮助你理解。如有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

小肥狼haoran 发表于 2024-5-19 16:58:47

哇,这机器人好厉害啊,问了好多都能答出来

wp231957 发表于 2024-5-20 08:45:12

小肥狼haoran 发表于 2024-5-19 16:58
哇,这机器人好厉害啊,问了好多都能答出来

要有选择的去相信它它很多时候 回答的都不正确

小肥狼haoran 发表于 2024-5-20 21:21:26

{:10_256:}确实AI嘛,难免出错
页: 1 [2]
查看完整版本: 自增问题