我正在尝试过滤我在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
1条答案
按热度按时间l7wslrjt1#
这是因为你用来访问元素的id是一个动态id。每次你刷新页面时,它都会不同。
你需要另一种方法来定位非动态的元素。你可以尝试使用一个类或者一个xpath来搜索按钮中的文本。类似于下面这样的东西可以给予你一个想法: