gpt4 book ai didi

selenium - 在 Selenium Webdriver 测试的 JS block 中调用全局变量(Python)

转载 作者:行者123 更新时间:2023-11-28 21:35:20 24 4
gpt4 key购买 nike

我有一串由用户设置的数字。在 Webdriver 测试的开头定义:

numbers = input("prompt")

然后我需要像这样通过 JS 代码输入这个变量的值:

driver.execute_script("document.getElementsByName('phone')[0].value=***")

我需要“numbers”变量的值而不是 ***。我应该如何正确插入它才能使其正常工作?

最佳答案

这是你想要做的。

numbers = input("prompt")
driver.execute_script("document.getElementsByName('phone')[0].value={}".format(numbers))

文档链接: https://docs.python.org/3/library/string.html

还有来自文档的片段:

field_name 本身以 arg_name 开头,它可以是数字或关键字。如果它是一个数字,它指的是一个位置参数,如果它是一个关键字,它指的是一个命名的关键字参数。如果格式字符串中的数字 arg_names 依次为 0、1、2、...,则它们可以全部省略(不仅仅是一些),数字 0、1、2、... 将按该顺序自动插入。因为 arg_name 不是引号分隔的,所以不可能在格式字符串中指定任意字典键(例如,字符串“10”或“:-]”)。 arg_name 后面可以跟任意数量的索引或属性表达式。 “.name”形式的表达式使用 getattr() 选择命名属性,而“[index]”形式的表达式使用 getitem() 进行索引查找。

在 3.1 版中更改:str.format() 可以省略位置参数说明符,因此 '{} {}'.format(a, b) 等同于 '{0} {1}'.format(一,二)。

numbers = input("prompt")
driver.execute_script("document.getElementsByName('phone')[0].value=%s" % numbers)

请在此处查看两者的示例: https://pyformat.info/

关于selenium - 在 Selenium Webdriver 测试的 JS block 中调用全局变量(Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59428894/

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