在尝试使用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()
有什么建议吗?