我有一个页面,其中25家公司位于同一个班级。 这是该网站的链接 - 这是HTML代码:
<section class="rslwrp">
<section class="jbbg">..</section>
<section class="jbbg">..</section>
<section class="jbbg">..</section>
<section class="jbbg">..</section>
<section class="jbbg">..</section>
<section class="jbbg">..</section>
******and so on******
我不确定,我如何让selenium单击一个类然后再浏览browser.back()然后再次移动到第二个browser.back()
然后再移到第三个等等。 n次。
我正在使用,
browser.find_element_by_xpath('//section[@class="jbbg"]/section[2]/section[1]/aside[1]/p[1]/span/a').click()
请有人劝告。在此先感谢您的帮助。
答案 0 :(得分:4)
循环遍历find_elements_by_xpath()
的结果,逐个获取所有链接和get()
:
links = [link.get_attribute('href') for link in browser.find_elements_by_xpath('//span[@class="jcn"]/a')]
for link in links:
browser.get(link)
答案 1 :(得分:0)
最简单的方法是使用find_elements_by_xpath
,然后遍历列表:
linksCount = len(browser.find_elements_by_xpath('//section[@class="jbbg"]/section[2]/section[1]/aside[1]/p[1]/span/a'))
for x in range(linksCount)
browser.find_element_by_xpath('(//section[@class="jbbg"]/section[2]/section[1]/aside[1]/p[1]/span/a)[' + x + ']')
答案 2 :(得分:0)
正如上一张海报所提到的,你应该遍历每一张海报进行点击。但是,在循环内部,您必须确定应用程序后退按钮或浏览器后退按钮才能返回上一页。
但是,请注意,一旦您返回上一页,由于html重新加载,您使用find_elements抓取的元素可能无效或过时。因此,您可能希望在循环内再次找到相同的元素以使程序正常工作