Selenium Web驱动程序本机函数可以工作,但ActionChains类的相同函数不在同一元素

时间:2018-06-11 10:42:08

标签: python selenium-webdriver selenium-chromedriver

在尝试使用Selenium webdriver和python进行自动化时,我遇到了以下问题:

简单点击工作没有动作链类:

element.click()

但尝试点击无法使用动作链类:

from selenium.webdriver.common.action_chains import ActionChains

action = ActionChains(driver)

action.click(element).perform()

同样,尝试使用动作链类拖动drop不工作:

action.drag_and_drop_by_offset(element,0,100).perform()

action.drag_and_drop(element,element2).perform()

使用ActionChains会产生陈旧的元素异常。

还有其他方法可以执行这些操作,例如move_to,mouse_press,mouse_release,drag_drop等。没有ActionChains类

此外 - 直接使用driver命令:

from selenium.webdriver.remote.command import Command

driver.execute(Command.CLICK_ELEMENT, {"id":getattr(element,"id")})

但这不是:

from selenium.webdriver.remote.command import Command

driver.execute(Command.MOVE_TO, {"id":getattr(element,"id")})

driver.execute(Command.MOUSE_DOWN, {})

driver.execute(Command.MOVE_TO, {"id":getattr(element2,"id")})

driver.execute(Command.MOUSE_UP, {})

此外,观察到即使对象存在,检索对象位置的jquery也会返回undefined:

$($x('div[draggable="true" and @class="result selected-row"][1]')).position()

有什么建议吗?

0 个答案:

没有答案