我如何处理一个下拉菜单,这不是一个选择下拉列表与robotframework selenium?(过滤器按钮)

0md85ypi  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(160)

我正在尝试过滤我在eBay上的搜索。我既不能从下拉列表中选择,也不能单击“条件”按钮来查看选择。我正在尝试在搜索中只选择新的。我也尝试执行JavaScript,我没有任何异常。然而,它没有点击。根据定位器,我得到了元素未找到或元素不可交互的错误。我也试图等待一定的时间。我的代码如下。提前感谢!!!

*** Settings ***
Documentation  Basic Search Functionality
Library  SeleniumLibrary

*** Variables ***

*** Test Cases ***
Verify basic search functionality for eBay
    [Documentation]  This test case verifies the basic search
    [Tags]  Functional

    Start Testcase
    Verify Search Results
    Filter Results by Condition
    Finish Testcase

*** Keywords ***

Start Testcase
    Open Browser  https://www.ebay.de  chrome
    Maximize Browser Window
    Sleep    2s
    Click Button  id:gdpr-banner-accept

Verify Search Results
    Input Text    xpath://*[@id="gh-ac"]    mobile
    Press Keys  //*[@id="gh-btn"]  [Return]
    Page Should Contain    Ergebnisse für mobile

Filter Results by Condition
    Click Element    //*[@id="nid-h0w-16"]/button/span/span
    Click Element    //*[@id="nid-khs-17"]/div[2]/span[2]

#    Execute Javascript  $("#nid-h0w-16 > button").click()
#    Execute Javascript  $("#nid-h0w-15 > div:nth-child(2) > span.filter-menu-button__text").click()
#    Sleep    5s

Finish Testcase
    Close Browser
l7wslrjt

l7wslrjt1#

这是因为你用来访问元素的id是一个动态id。每次你刷新页面时,它都会不同。
你需要另一种方法来定位非动态的元素。你可以尝试使用一个类或者一个xpath来搜索按钮中的文本。类似于下面这样的东西可以给予你一个想法:

Click Element    xpath=//button/span/span[contains(text(), 'Beste Ergebnisse')]

相关问题