Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将两个值赋给一个变量_Python_Selenium - Fatal编程技术网

Python 将两个值赋给一个变量

Python 将两个值赋给一个变量,python,selenium,Python,Selenium,我将尽可能地解释这一点,而不会给出太多关于我正在尝试做什么的细节 我有一个网站Website1,其产品x的值为1 我有另一个网站Website2,它的产品x值为2 产品“x”有两个值需要配对。这是使用元组实现的吗 x = [1, 2] 在Website2上,我需要在循环中逐个检查行项目列表。当它找到productx并匹配元组中Website1中的连接值2时,我需要执行一个函数来更改实现值,移动到下一行项目以执行下一次检查。这是我到目前为止得到的,我甚至不确定逻辑是否接近 x = [1, 2]

我将尽可能地解释这一点,而不会给出太多关于我正在尝试做什么的细节

我有一个网站
Website1
,其产品
x
的值为1 我有另一个网站
Website2
,它的产品
x
值为2

产品“x”有两个值需要配对。这是使用元组实现的吗

x = [1, 2]
Website2
上,我需要在循环中逐个检查行项目列表。当它找到product
x
并匹配元组中
Website1
中的连接值2时,我需要执行一个函数来更改实现值,移动到下一行项目以执行下一次检查。这是我到目前为止得到的,我甚至不确定逻辑是否接近

x = [1, 2]

if Website1 == x:
LineItem.find_element_by_xpath('./td[4]/div/div/input').clear()
time.sleep(2)
LineItem.find_element_by_xpath('./td[4]/div/div/input').send_keys("1")

else:
LineItem.find_element_by_xpath('./td[4]/div/div/input').clear()
time.sleep(2)
LineItem.find_element_by_xpath('./td[4]/div/div/input').send_keys("0")

是的,您可以轻松地使用元组为变量分配两个值(整个元组被分配给变量):

旁注:
[]
定义的是列表,而不是元组。后者是前者的不变变体

您应该使用元组

x = (1, 2)
要从元组中获取值,只需执行以下操作:


x[0]
获取第一个值,
x[1]
获取下一个值,依此类推

可以使用元组,但不必使用。这只是一种方法。
[]
s中包含的是一个数组。您也可以使用它,如果您添加第三个+网站,您不必更改数据结构,只需添加一个新值,例如,
x=[1,2,3]
,因此使用该数组可以使以后的扩展比元组更容易

现在是代码。在没有更多解释的情况下理解您的逻辑有点困难,但这应该可以解决您的问题(并简化您的代码)

您会注意到,
if
else
块的代码基本相同。唯一的区别是
send_keys()
中的“1”与“0”。你应该做一些阅读和枯燥的练习,但核心概念是不要重复你自己。将重复的行拉出到名为
set\u fulfillment\u value()
的方法中(您可能希望给它一个更合适的名称)

使用
if
设置要发送的值,然后将其传递到方法中

x = [1, 2]
value = None
if Website1 == x[0]:
    value = "1"
else:
    value = "0"
set_fulfillment_value(value)

注意:我知道命名很难,但您应该使用更好的变量名
Website1
听起来可能更适合命名为
product
?另外,
LineItem
也不是很python-y<代码>行项目可能会更好

myValues = (a, b, c)
这将创建一个元组,您可以在其中存储多个值。
要获取不同的值,只需使用
myValues[0]
获取第一个元素即可。

这不是tupleThank。我提供的代码中如何匹配它们的逻辑正确吗?我用大括号替换了括号,但在“if”语句中找不到匹配项。
if-Website1==x[0]
如果
x
的第一个元素是
Website1
x = [1, 2]
value = None
if Website1 == x[0]:
    value = "1"
else:
    value = "0"
set_fulfillment_value(value)
myValues = (a, b, c)