【发布时间】:2020-08-18 23:27:06
【问题描述】:
我正在尝试使用 JavaScript 单击 WebElement,但无法为此创建 JavaScript 语句。
我可以使用此语句单击取消按钮
driver.execute_javascript("$(\"div[title='Cancel']\")[0].click()")
但是在点击另一个更复杂的元素时,我正在尝试这个
expand_xpath = "//span[text()='Submit']//ancestor::table//a[text()='Expand']"
driver.execute_javascript("document.getElementByXpath('${expand_xpath}').click()")
JavascriptException:消息:javascript 错误:document.getElementByXpath 不是函数
此 expand_xpath 正在存储我需要单击的 WebElement 的 xpath,但我无法为单击此元素构建 JS 代码。
请在此链接上找到 RobotFramework Execute Javascript 关键字扩展 https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html#Execute%20Javascript
第二次尝试:
expand_xpath = "//span[text()='Submit']//ancestor::table//a[text()='Expand']"
driver.execute_javascript("document.evaluate('${expand_xpath}', document.body, null, 9, null).singleNodeValue.click()")
输出:
JavascriptException: Message: javascript error: missing ) after argument list
【问题讨论】:
-
我们需要看看你们的样板平台。
-
@dpapadopoulos 示例平台是什么意思?
-
您的代码针对哪个平台运行?你有链接让我们练习吗?
-
@dpapadopoulos 我正在使用带有 Python 的 RobotFramework。你不可能练习。
-
RobotFramework 与此无关。在任何情况下,可能的帮助者都会更容易获得您的代码示例和运行脚本的平台。
标签: javascript python selenium robotframework