簡體   English   中英

當 id 在機器人框架中動態時,如何找到要單擊的按鈕的 id

[英]how to locate an id of the button to click when id is dynamic in robot framework

我是機器人框架的新手,學習了一些機器人框架的基礎知識。 當我嘗試在 facebook 中創建一個新帳戶時,我使用了“創建新帳戶”的 id 元素,但每次打開新頁面時都會生成新的 id。 有人可以幫助我了解當 id 是動態時如何單擊按鈕。

*** Settings ***

Library    SeleniumLibrary

*** Test Cases ***

facebooklogin

    open browser    https://www.facebook.com/    firefox
    maximize browser window
    set selenium timeout    10s
    click button    id:u_0_d_si

錯誤消息:未找到帶有定位符“id:u_0_d_si”的按鈕。

我發現的一個快速替代方法是您可以打開此鏈接: https://www.facebook.com/login/web/然后:
SeleniumLibrary.Wait until Element is Visible xpath://a[contains(text(),'Sign up for Facebook')] 10s
點擊元素 xpath://a[contains(text(),'Sign up for Facebook')]

只需使用元素的正確定位器策略,因為您使用了元素的 id 屬性,但是如果您每次刷新頁面都會更改,這意味着 id 屬性值是動態的,您可以 go 用於元素的文本來識別它每次都是獨一無二的。

*** Test Cases ***
Create new facebook account

    Open Browser    https://www.facebook.com/    firefox
    Maximize Browser Window
    Set Selenium Timeout    10s
    Click Button    xpath:.//a[text()="Create New Account"]

有時這對動態元素很有效:

${element1}=  Asign Id To Element  contains...etc
Execute Javascript   arguments[0].click();   Arguments   ${element1}

暫無
暫無

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

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