通過在 setSignature 上使用頁面物件模型,我在 action.drag_and_drop_by_offset 上收到錯誤 AttributeError。
從 selenium.webdriver.common.action_chains 匯入 ActionChains
類簽名頁:
signatureCanvas = "canvas_signature"
btn_go_back = "//*[@id='mobile-wrapper']/main/section/a"
btn_draw_signature = "//*[@id='mobile-wrapper']/main/article[1]/div[2]/div[1]/div[1]/a"
canvas = "//*[@id='canvas_signature']"
def __init__(self, driver):
self.driver = driver
def btngoBack(self):
self.driver.find_element_by_xpath(self.btn_go_back).click()
def btnDrawSignature(self):
self.driver.find_element_by_xpath(self.btn_draw_signature).click()
def setSignature(self):
box = self.driver.find_elements_by_xpath(self.canvas)
action = ActionChains(self.driver)
action.drag_and_drop_by_offset(box, 200, 0)
action.perform()
uj5u.com熱心網友回復:
問題出現在這里
drag_and_drop_by_offset(box, 200, 0)
你傳遞box的是一個list of web element,而不是一個單一的網路元素,因為你在find_elements這里使用過box = self.driver.find_elements_by_xpath(self.canvas)
只需將其更改為find_element,您應該一切順利。
筆記:
find_elements : returns a list of web element.
find_element : returns a single web element.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/488601.html
