selenium 我想让css_selector成为python中的一个repeat语句,我该怎么做呢?

y53ybaqx  于 2022-11-24  发布在  Python
关注(0)|答案(1)|浏览(160)

这是python项目。
我想用while或for把下面的代码变成repeat。因为我有45个列表。我必须从代码中得到所有的信息。
我想我必须编辑“li. drongs:nth-child(1)”的代码,使其类似于“li. drongs:nth-child(i)”
我应该编辑或添加什么代码来重复?
我需要你的帮助python大师。你可以自由编辑我的代码。

for i in range(1, 46): since CSS indexes start at , not 0
   browser.find_element_by_css_selector("ul.list_basis  
   li.dragons:nth-child(1) .dragonchild a.link").click() to 
   browser.find_element_by_css_selector(f"ul.list_basis  
   li.dragons:nth-child({i}) .dragonchild a.link").click()

   browser.switch_to.window(browser.window_handles[1])

   items = browser.find_elements_by_css_selector('.classname11')

   for item in items:
     name = item.find_element_by_css_selector('.classname12 > 
     .classname13').text
     number = item.find_element_by_css_selector('.classname14').text
     print([name,number])
 
   browser.close()
   browser.switch_to.window(browser.window_handles[0])
kcwpcxri

kcwpcxri1#

使用format string!换句话说,将整个代码块 Package 在for循环中(for i in range(1, 46):,因为CSS索引从1开始,而不是从0开始),然后将browser.find_element_by_css_selector("ul.list_basis li.dragons:nth-child(1) .dragonchild a.link").click()更改为browser.find_element_by_css_selector(f"ul.list_basis li.dragons:nth-child({i}) .dragonchild a.link").click()

相关问题