python 模拟触屏电脑操作_如何在硒中模拟触摸屏?

我试图创建一个机器人,这个机器人必须点击一些元素,这些元素不能识别鼠标点击,但能识别触摸,我在网上搜索了一下,我找到了一种模拟触摸事件的方法。

这是我写的from selenium import webdriver

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.touch_actions import TouchActions

user_agent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16"

profile = webdriver.FirefoxProfile()

profile.set_preference("general.useragent.override", user_agent)

driver = webdriver.Firefox(profile)

driver.set_window_size(400, 800)

WebDriverWait(driver, 10).until(lambda d: d.find_element_by_css_selector(".qJfNm").is_displayed())

element = driver.find_element_by_css_selector(".qJfNm")

touchactions = TouchActions(driver)

touchactions.tap(element)

tap方法模拟mouse clicks,而不是{},所以我想知道是否有一种方法可以在selenium上模拟touchscreen events,或者这是正确的方法,我做得不对。在

我也试着写touchactions.tap(element).perform()而不是{}

^{pr2}$

但它引起了这个错误Traceback (most recent call last):

File "C:/Users/mcara/OneDrive/Desktop/instagram bot mobile/instagram_bot_mobile.py", line 57, in

touchactions.tap(element).perform()

File "C:\Users\mcara\PycharmProjects\1\venv\lib\site-packages\selenium\webdriver\common\touch_actions.py", line 47, in perform

action()

File "C:\Users\mcara\PycharmProjects\1\venv\lib\site-packages\selenium\webdriver\common\touch_actions.py", line 57, in

Command.SINGLE_TAP, {'element': on_element.id}))

File "C:\Users\mcara\PycharmProjects\1\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute

self.error_handler.check_response(response)

File "C:\Users\mcara\PycharmProjects\1\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response

raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.WebDriverException: Message: POST /session/71d75201-9012-46a1-9c6e-1c720dd332ce/touch/click did not match a known command

不明白为什么。在

我用的是gekodriver、python 3和{}

你可能感兴趣的:(python,模拟触屏电脑操作)