Drag_and_drop什么都不做

时间:2019-07-10 17:18:36

标签: python selenium google-chrome drag-and-drop

我根本没有运气让ActionChains操作在Chrome中工作,特别是drag_and_drop,我没有找到任何解决方法。

就我而言,我正在处理一个问题,即只有将元素拖到某个字段中时,数据表才会出现。如果我尝试使用ActionChains来执行此操作,则该程序将什么也不做并挂起。

这是在python中使用硒。

我的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

1 个答案:

答案 0 :(得分:0)

@pcalkins知道了!这是工作代码!我只是将声明变量的字符串的最后一行移到了函数调用中,因此可以在不同情况下进行更改。非常感谢!

o , o2 = Lambda(crop)([o , o2])
o = Add()([ o , o2 ])