gpt4 book ai didi

javascript - 对我来说,出乎意料的是,Robot Framework 中的 javascript 返回值。为什么?

转载 作者:行者123 更新时间:2023-11-30 14:17:11 24 4
gpt4 key购买 nike

当我在 Robot Framework 中执行这个 Javascript 时

${locator}    Execute JavaScript    return document.activeElement
log ${locator}

日志看起来像这样:

KEYWORD BuiltIn . Log ${Locator}
Documentation:
Logs the given message with the given level.

Start / End / Elapsed: 20181120 12:14:37.008 / 20181120 12:14:37.008 / 00:00:00.000
12:14:37.008 INFO <selenium.webdriver.remote.webelement.WebElement (session="b1f6da572666aa24004769a4ab3a2171", element="0.7758470428784936-13")>

但是,当我在 Chrome 的控制台中执行相同的代码时,结果可能如下所示:

input#login_field.form-control.input-block

为什么 RF/JS 组合返回如此奇怪的格式/值?我需要一个 CSS-id 或类似的。

最佳答案

本质上,这就是 WebElement 对象的样子。谷歌为表示该对象值所做的是选择人类可读/可识别的某些属性并显示这些属性。这背后有(复杂的)逻辑来显示特定元素的唯一 CSS 定位器。

Robot Framework 通常不使用元素,但可以使用。在下面的示例中,它被用来代替定位器:

*** Settings ***
Library SeleniumLibrary
Suite Teardown Close All Browsers

*** Test Cases ***
Get WebElement Name
Open Browser http://google.com chrome
${WebElement} Execute Javascript return document.activeElement
${name} Get Element Attribute ${WebElement} name
Log ${name}

导致:

Starting test: Folder.Webdriver.Get WebElement Name
20181120 18:58:55.406 : INFO : Opening browser 'chrome' to base url 'http://google.com'.
20181120 18:58:59.499 : INFO : Executing JavaScript:
return document.activeElement
20181120 18:58:59.511 : INFO : ${WebElement} = <selenium.webdriver.remote.webelement.WebElement (session="c3648128649f6ffea907d36a6533e3fc", element="0.6417788615033906-1")>
20181120 18:58:59.527 : INFO : ${name} = q
20181120 18:58:59.527 : INFO : q
Ending test: Folder.Webdriver.Get WebElement Name

然而,只需对 javascript 进行少量改动即可实现同样的效果:

Get WebElement Name
Open Browser http://google.com chrome
${name} Execute Javascript return document.activeElement.name

关于javascript - 对我来说,出乎意料的是,Robot Framework 中的 javascript 返回值。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53394475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com