(Python, Selenium WD) 怎么接收列表并将其传送到一个循环?
(Python, Selenium WD) Нow to receive and transfer the list to a cycle?
我有这个代码
lst = ["Appearence","Logotype", "Catalog", "Product Groups", "Option Groups","Manufacturers","Suppliers",
"Delivery Statuses","Sold Out Statuses", "Quantity Units", "CSV Import/Export", "Countries","Currencies","Customers"]
for item in lst:
wd.find_element_by_link_text(item).click()
assert wd.title != None
我不想手写列表。
我想直接从浏览器接收列表 - lst。
我用
m = wd.find_elements_by_css_selector('li[id=app-]')
print(m[0].text)
Appearence
不知道怎么把列表转成循环
看这张照片screen browser
请帮助我了解如何使用列表并将其转换为循环
在您的示例变量 m
将是一个 WebElements 列表,您可以获取它的长度并迭代 CSS 伪选择器 :nth-child()
范围:
m = wd.get_elements_by_css_selector('li#app-')
for elem in range(1, len(m)+1):
wd.get_element_by_css_selector('li#app-:nth-child({})'.format(elem)).click()
assert wd.title is not None
在 for 循环中,它将遍历从 1 开始到元素列表长度(+1,因为不包括在内)结束的整数范围,我们将单击选择器的第 n 个子项,使用迭代数 .format(elem)
将替换 elem 变量字符串中的第 {}
次出现,在本例中为整数迭代。
我有这个代码
lst = ["Appearence","Logotype", "Catalog", "Product Groups", "Option Groups","Manufacturers","Suppliers",
"Delivery Statuses","Sold Out Statuses", "Quantity Units", "CSV Import/Export", "Countries","Currencies","Customers"]
for item in lst:
wd.find_element_by_link_text(item).click()
assert wd.title != None
我不想手写列表。 我想直接从浏览器接收列表 - lst。 我用
m = wd.find_elements_by_css_selector('li[id=app-]')
print(m[0].text)
Appearence
不知道怎么把列表转成循环
看这张照片screen browser
请帮助我了解如何使用列表并将其转换为循环
在您的示例变量 m
将是一个 WebElements 列表,您可以获取它的长度并迭代 CSS 伪选择器 :nth-child()
范围:
m = wd.get_elements_by_css_selector('li#app-')
for elem in range(1, len(m)+1):
wd.get_element_by_css_selector('li#app-:nth-child({})'.format(elem)).click()
assert wd.title is not None
在 for 循环中,它将遍历从 1 开始到元素列表长度(+1,因为不包括在内)结束的整数范围,我们将单击选择器的第 n 个子项,使用迭代数 .format(elem)
将替换 elem 变量字符串中的第 {}
次出现,在本例中为整数迭代。