在将元素相互拖放之后,my程序有时会挂起。所以我为它设置了一个超时,当到达定时器时,它将运行第一个代码块。它确实打印了第一行,但是Selenium拒绝让步,因为driver.close()
在print
语句之后不运行,并且代码的其余部分呈现为不可访问。整个程序将挂起并且无法继续。这是带硒的bug还是我写的东西?
print("This took too long. Will run a different function.")
driver.close()
driver.switch_to_window(driver.window_handles[0])
sleep(2)
# REST OF CODE
可能是拖放代码吗?
if elementsToMove:
a1 = random.choice(elementsToMove)
a2 = random.choice(elementsToMove)
while a1 == a2:
a2 = random.choice(elementsToMove)
actions = webdriver.ActionChains(driver)
actions.drag_and_drop(a1, a2)
actions.perform()
多年后,我会回答我自己的问题。
sample
,而不是choice
两次。问题内容: 我无法使用Python WebDriver绑定进行拖放。我正在Mac OS X上使用Google Chrome和Firefox。这里有一个线程,那里有人遇到类似问题。 我尝试使用: 您是否设法使Python WebDriver拖放工作? 问题答案: 为了给出更新的答案,我已经验证了它现在确实可以在Mac上运行。 参考
拖放操作不适用于selenium 3.8。 下面是该元素的JS代码 这就是我尝试过的。但这只是选择元素。保持和放弃是不会发生的。 我也试过这个。 也尝试过机器人。每次我只能看到源元素和目标元素都被选中。但不是被拖拽掉的。 还尝试了dragAndDrop ActionsChain。那也没用。
我使用的是Selenium Webdriver的最新版本,我需要将一个元素拖放到CKeditor的anotation字段中,但它不是IFrame。根据我之前的测试,它通过机器人拖放功能与Java和Selenium2以及FF47一起工作。 现在,我需要使用最新版本的Selenium with Python3来执行此操作。我输入了这个经过验证的代码,它应该可以工作,但它会用带有拖动链接的holding
我试图在元素上执行拖放操作,但它没有发生。 这是我正在处理的页面的片段。在这里,我试图将磁贴“时间”拖动并放置在磁贴“批准”的位置。截图 这是我正在使用的代码。 代码 超文本标记语言 源元素 目标元素 如果你需要更多细节,请告诉我。
本文向大家介绍如何在Selenium中进行拖放动作?,包括了如何在Selenium中进行拖放动作?的使用技巧和注意事项,需要的朋友参考一下 我们可以借助Actions类在Selenium中执行拖放动作。为了执行拖放运动,我们将使用dragAndDrop(源,目标)方法。最后,使用.perform()执行所有步骤。 示例
我使用了下面的代码进行拖放。它在Firefox驱动程序中工作,但在chrome驱动程序中不起作用。 请帮忙!