我在列表方面遇到了一些问题。 我需要的代码必须这样做 我有一个代码由css选择器创建的元素列表,代码找到所有元素, 它必须从列表的第一个元素获取文本,在链接中插入文本,让broswer查找该链接,然后返回到列表所在的初始页面,再次查看相同的列表,这次代码必须采用第二个元素的文本并执行相同的操作,因此,必须将文本放在链接中并查找它,然后将其返回到初始页面...
我写的代码就是这个
segui_css_selector= "._5f5mN.jIbKX.KUBKM.yZn4P"
selector_link_gente_seguita=".FPmhX.notranslate.zsYNt"
while a<50:
#start the loop
time.sleep(3)
segui= driver.find_element_by_css_selector(segui_css_selector)
time.sleep(1)
a += 1
print (a)
time.sleep (5)
link=driver.find_element_by_css_selector (selector_link_gente_seguita).text
print(link)
driver.get ("https://www.instagram.com/" + link + "/")
time.sleep(3)
segui = driver.find_element_by_xpath ("/html/body/span/section/main/div/header/section/div[1]/span/span[1]/button")
segui.click()
time.sleep(3)
driver.get ("https://www.instagram.com/" + Pagina + "/")
time.sleep(2)
driver.find_element_by_xpath ('//a[@href=''"/' + Pagina + '/followers/''"]').click ()
time.sleep (5)
a = 0
问题是这样,当代码完成第一个循环时,所以:它从第一个元素获取文本,将其放入链接,进行链接搜索然后返回初始页面,代码继续始终从第一个元素获取文本。 我不知道如何通过每次从不同元素中获取文本来继续循环
这是元素列表的一个例子:
<a class="FPmhX notranslate zsYNt " title="zoe1" href="/zoe1/">A</a>
<a class="FPmhX notranslate zsYNt " title="zoe2" href="/zoe2/">B</a>
<a class="FPmhX notranslate zsYNt " title="zoe3" href="/zoe3/">C</a>
<a class="FPmhX notranslate zsYNt " title="zoe4" href="/zoe4/">D</a>
<a class="FPmhX notranslate zsYNt " title="zoe5" href="/zoe5/">E</a>
<a class="FPmhX notranslate zsYNt " title="zoe6" href="/zoe6/">F</a>
&#13;
答案 0 :(得分:0)
要获取与同一css选择器匹配的多个元素,您可以使用下面的find_elements_by_css_selector()
方法。它将找到与css选择器匹配的所有Web元素,并返回这些Web元素的列表。因此,您可以遍历该列表:
segui_css_selector= "._5f5mN.jIbKX.KUBKM.yZn4P"
selector_link_gente_seguita=".FPmhX.notranslate.zsYNt"
time.sleep(3)
for element in driver.find_elements_css_selector(segui_css_selector):
time.sleep(5)
link = element.find_element_by_css_selector (selector_link_gente_seguita).text
print(link)
driver.get ("https://www.instagram.com/" + link + "/")
time.sleep(3)
segui = driver.find_element_by_xpath ("/html/body/span/section/main/div/header/section/div[1]/span/span[1]/button")
segui.click()
time.sleep(3)
driver.get ("https://www.instagram.com/" + Pagina + "/")
time.sleep(2)
driver.find_element_by_xpath ('//a[@href=''"/' + Pagina + '/followers/''"]').click ()
time.sleep (5)