我在Chrome浏览器中使用ActionChains动作,特别是drag_and_drop操作无法成功,但我没有发现任何解决方法。
我的情况是,只有将元素拖入到某个字段中,数据表才会出现。如果我试图使用ActionChains进行操作,程序什么也不做并且停滞不前。
这是使用Python的selenium。 我使用的是Chrome 75.0.3770.100版本。
以下是可以重现该情况的示例代码片段:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
import time
import re
### Start Process
# create a new Chrome session
driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.maximize_window()
driver.get('https://www.w3schools.com/html/html5_draganddrop.asp')
dragged = driver.find_element_by_xpath('//*[@id="drag1"]')
dropped = driver.find_element_by_xpath('//*[@id="div2"]')
ActionChains(driver).drag_and_drop(dragged, dropped).perform()
该代码应该只是将标志从左侧框拖到右侧,但它什么也没做。
编辑: 这里是在shell中返回的内容:
DevTools listening on ws://127.0.0.1:54994/devtools/browser/a9093d6c-8ee0-4140-84fe-dd3009412fbc
[14976:20964:0710/120727.552:ERROR:ssl_client_socket_impl.cc(947)] handshake failed; returned -1, SSL error code 1, net_error -100
[14976:20964:0710/120727.576:ERROR:ssl_client_socket_impl.cc(947)] handshake failed; returned -1, SSL error code 1, net_error -100
Press any key to continue . . . [14976:20964:0710/120736.634:ERROR:ssl_client_socket_impl.cc(947)]
handshake failed; returned -1, SSL error code 1, net_error -100