gpt4 book ai didi

python - ActionChains Selenium Python 无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:25 24 4
gpt4 key购买 nike

我是使用 Python 的 Selenium 新手,我对 ActionChains 有一个问题,我无法理解。我想单击一个元素并使用 ActionChain 将其移动到另一个元素,我尝试了 2 种方法来做到这一点。

首先是2个py文件的组合,它们不起作用

import time
from selenium.webdriver.common.action_chains import ActionChains

def action_function(driver,start,des):
time.sleep(2)
ActionChains(driver).click_and_hold(start).move_to_element(des).release().perform()
time.sleep(3)
import time
import unittest
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from hilffunktionen import hilffunktion

class PythonOrgSearch(unittest.TestCase):


driver = webdriver.Firefox('./geckodriver')

@classmethod
def firsttest(self):
self.driver.get('file:///C:/My-Project/Probe/index.html')

time.sleep(5) # Let the user actually see something!
dragitem = self.driver.find_element_by_id('mydivheader')
print(dragitem.get_attribute('innerHTML'))
time.sleep(5)
destination = self.driver.find_element_by_id('destination')
time.sleep(4)
hilffunktion.action_function(self.driver,dragitem,destination)
time.sleep(3)

但是如果我尝试在类里面直接编写它,它就会起作用

import time
import unittest
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

class PythonOrgSearch(unittest.TestCase):


driver = webdriver.Firefox('./geckodriver')
driver.get('file:///C:/My-Project/Probe/index.html')

time.sleep(5) # Let the user actually see something!
dragitem = driver.find_element_by_id('mydivheader')
print(dragitem.get_attribute('innerHTML'))
time.sleep(5)
destination = driver.find_element_by_id('destination')
time.sleep(4)
ActionChains(driver).click_and_hold(dragitem).move_to_element(destination).release().perform()
time.sleep(3)

有人可以解释一下为什么吗? ,如果我只想用第一种方式写,我应该怎么做,这样它才能起作用? 。我将非常感谢您的帮助

最佳答案

第二种方式“有效”,因为

A class definition is an executable statement. 

(请参阅 class-definitions )

基本上,Python 运行类定义中的语句。

如果你想采用第一种方式(假设你想使用unittest),也许你可以将firsttest方法定义为test_xyz(self): ...最后你可以调用unittest.main(),类似basic example .

关于python - ActionChains Selenium Python 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59000314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com