(Python, Selenium WD) Нow 接收和传输列表到一个周期?



我有这个代码

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

我不知道如何将列表转移到一个周期

看这个图片屏幕浏览器

请帮助我了解如何使用该列表并将其转移到一个周期中

在你的例子变量中,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 变量在字符串中的第{}个外观, 在本例中为整数迭代。

最新更新