点击列表页面上的链接(随机) 看到内容3秒钟后 我想重复另一次随机点击。
查看帖子的内容,而不是收集目的,然后返回列表以查看其他帖子的内容...
这是一个重复的任务。
下面的代码有效,但是我似乎无法随机单击列表
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('/test')
list_of_links = driver.find_elements_by_xpath('//a[@class="re_href"]')
list_of_linktext = []
for link in list_of_links:
list_of_linktext.append(link.text)
for linktext in list_of_linktext:
element = driver.find_element_by_link_text(linktext)
driver.execute_script("arguments[0].click();", element)
sleep(3)
driver.back()
sleep(3)
html
<table>
<tbody>
<tr>
<td class="num">512</td>
<td class="thumb"><img src="test.jpg"></td>
<td class="subject">
<a href="/article/band/13538" id="re_href" class="re_href">Title</a>
</td>
<td class="writer"></td>
<td class="check"></td>
</tr>
<tr>
<td class="num">512</td>
<td class="thumb"><img src="test2.jpg"></td>
<td class="subject">
<a href="/article/band/14230" id="re_href" class="re_href">Title</a>
</td>
<td class="writer"></td>
<td class="check"></td>
</tr>
.
.
.
</tbody>
</table>
答案 0 :(得分:2)
尝试以下代码,它将单击每个链接。
driver.get('/test')
list_of_links = driver.find_elements_by_xpath('//a[@class="re_href"]')
for linktext in range(len(list_of_links)):
list_of_links = driver.find_elements_by_xpath('//a[@class="re_href"]')
element =list_of_links[linktext]
driver.execute_script("arguments[0].click();", element)
sleep(3)
driver.back()
sleep(3)
已编辑:
将下面的xpath用于表中的所有链接。
driver.get('/testl')
list_of_links = driver.find_elements_by_xpath("//table//tr//td[@class='subject']/a")
for linktext in range(len(list_of_links)):
list_of_links = driver.find_elements_by_xpath("//table//tr//td[@class='subject']/a")
element =list_of_links[linktext]
driver.execute_script("arguments[0].click();", element)
sleep(3)
driver.back()
sleep(3)