当前位置: 首页 > 面试题库 >

如何在机器人框架中获取文本溢出的CSS样式

蓟辰沛
2023-03-14
问题内容

如何在机器人框架中获取 文本溢出 的CSS样式。用于验证省略号文本。

<td _ngcontent-c5="" class="fontStyle" data-placement="top" title="123456789123456789qwertyuiasdfghjklzxcvbnmasdfghjkqwertyuiasdfghjkzxcvbnmertyui"> 123456789123456789qwertyuiasdfghjklzxcvbnmasdfghjkqwertyuiasdfghjkzxcvbnmertyui </td>

问题答案:

更新:在当前的SeleniumLibrary(3.2+)中,有一个专用关键字:Get Element
Attribute(获取元素属性)

SeleniumLibrary for Robot
Framework不支持获取CSS属性的值。但是,value_of_css_propertySelenium
Python模块中有一种方法可以完全做到这一点。

为了在元素上调用方法,Call Method可以在任何Robot变量或对象上使用standard关键字。在下面的示例中,我使用Google主页创建了一个自定义关键字和一些示例。应该根据您的目的轻松修改它们。

*** Settings ***
Library    SeleniumLibrary

Suite Teardown    Close All Browsers

*** Test Cases ***
TC
    Open Browser    http://www.google.com    Chrome

    # a CSS property from the element.
    ${element_prop}=    Get CSS Property Value    id=SIvCob    line-height
    Should Be Equal As Strings    ${element_prop}    28px

    # a CSS property inherited from the <body> tag.
    ${body_prop}=    Get CSS Property Value    id=SIvCob    font-family
    Should Be Equal As Strings    ${body_prop}    arial, sans-serif

*** Keywords ***
Get CSS Property Value
    [Documentation]
    ...    Get the CSS property value of an Element.
    ...    
    ...    This keyword retrieves the CSS property value of an element. The element
    ...    is retrieved using the locator.
    ...    
    ...    Arguments:
    ...    - locator           (string)    any Selenium Library supported locator xpath/css/id etc.
    ...    - property_name     (string)    the name of the css property for which the value is returned.
    ...    
    ...    Returns             (string)    returns the string value of the given css attribute or fails.
    ...        
    [Arguments]    ${locator}    ${attribute name}
    ${css}=         Get WebElement    ${locator}
    ${prop_val}=    Call Method       ${css}    value_of_css_property    ${attribute name}
    [Return]     ${prop_val}


 类似资料:
  • 问题内容: 考虑以下源代码, 如何检索列表变量中的两个名称(Name1,Name2)?我为“ Get Text”关键字尝试了以下xpath,但仅返回第一个。 请建议 问题答案: 您可以遍历以下元素: 这种方法有效,但是在有许多匹配项时速度很慢。

  • 问题内容: 或者我必须使用简单的方法,例如: 问题答案: 您所做的是干净,快速的。您可以改进的是预分配切片,并使用如下循环填充它: 该封装还具有填充用随机字节切片功能。因此,如果您想用随机数据填充一个切片,这就是所有必要的工作: 另一个有趣的方法是利用成为一个。这意味着它具有一种用随机数据填充的方法。 结合软件包,您可以用随机数据“填充”变量。创建a 并将其作为源传递给函数,仅此而已。 它是这样的

  • 我正在尝试设置一个容器,以便在Chrome上使用RobotFramework进行测试。 但是当我运行容器时,我总是得到一个WebDriverException。我已经找过了,但找不到任何对我有效的修复方法。 这是我的Dockerfile

  • 问题内容: 我刚刚开始使用React.js,但不确定是否有一种特殊的方法来获取文本框的值,该方法是在这样的组件中返回的: 问题答案: 如文档中所述,您需要使用 受控输入 。要进行输入 控制, 您需要在其上指定两个道具 - 每次更改输入都会将组件设置为输入的函数 -来自组件的输入值(例如) 例: 更具体地说是关于textarea的- 这里

  • 现在,我设置路径变量 我可以在命令行中调用open。 但在 FAIL: WebDriver异常:消息:未知错误:Chrome未能启动:崩溃(驱动程序信息:chromeDrive=2.13.307647 (5a7d0541ebc58e69994a6fb2ed930f45261f3c29),平台=Windows NT 6.1 SP1 x86)

  • 我正在使用java构建一个面向回复键盘的机器人,我需要它以不同的方式处理两种情况,其中最新消息的文本基于上一条消息的文本是相同的。如何获取或存储上一条消息的文本作为公共变量? 我的概念建模如下: 我有一个很大的If-Else-If语句,其中每个If块的条件沿着 我希望代码根据之前的消息不同地处理MessageText相同的两种情况。