簡體   English   中英

Selenium/Python - 如何單擊僅在光標懸停在其上時才出現的按鈕?

[英]Selenium/Python - How to click on a button that appears only when cursor is hovering over it?

基本上在 UI 上有一個按鈕,只有在懸停時才可見。 我需要能夠在它可見時單擊刪除按鈕。 如果有某種方法可以通過檢查uib-tooltip="Edit Test Contract 1">來檢查我是否在正確的事情上懸停,那將是理想的: uib-tooltip="Edit Test Contract 1">

html代碼:

<div class="ibox-content no-margins ">
<span tooltip-class="beacon-uib-tooltip" tooltip-append-to-body="true" uib-tooltip="Edit Test Contract 1">
<button class="name btn-link ng-binding ng-isolate-scope" ng-disabled="disableEdit()" mit-mini-modal="" ng-click="editContract(contract)">Test Contract 1</button>
</span>
<span class="icon-container hide-when-dragging">
<div class="show-when-hovering">
<span class="fa fa-times delete-icon ng-isolate-scope" uib-tooltip="Delete" tooltip-append-to-body="true" mit-mini-modal="" ng-click="deleteContract()"></span>

盡管我在尋找正確的 css ng-click="deleteContract()" ,但我在 atm 上的 python 代碼由於某種原因沒有返回任何內容。 我試圖點擊刪除按鈕的方法是delete_contract() 如果您需要更多信息,請告訴我,我已嘗試盡可能詳細。

class Locator:
    def __init__(self, selenium_context, short_wait_time_sec):
        self.selenium_context = selenium_context
        self.short_wait_time_sec = short_wait_time_sec

def find_elements_css(self, cssSelector):
    return self.selenium_context.find_elements_by_css_selector(cssSelector)

def delete_contract(self, contract_name):
    self.contract_list = self.page_loc.find_elements_css('button[ng-click="deleteContract()"]')
    for contract in self.contract_list:
        if contract.text == contract_name:
            contract.click()
            break

您可以使用ActionChains來模擬懸停

def delete_contract(self, contract_name):
    action = ActionChains(selenium_context) # create ActionChains object
    contract = page_loc.find_element_by_css_selector('span[ng-click="deleteContract()"]')
    action.move_to_element(contract).perform() # move the mouse to the element
    contract.click()

刪除按鈕在<span>標簽中,而不是<button>標簽中。 cssSelctor應該是'span[ng-click="deleteContract()"]'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM