假设我有一个链接列表,并希望随机点击一个链接:
<div id="divA">
<a> first link </a>
<a> second link </a>
...
</div>
这不是最聪明的方法(如果你有更好的解决方案请告诉我),但我目前做的是(大致):
l = []
for i in range(numOfLinks):
xpath = '//div[@id="divA"]/a[%d]'%i
txt = sel.getText(xpath)
l.append(xpath, txt)
xpath,linkName = random.choice(l)
sel.click(xpath)
此解决方案的主要问题是它向selenium发送了许多请求。我的问题是:有没有办法将所有这些请求保存在缓冲区中并立即发送?
答案 0 :(得分:0)
numOfLinks = sel.get_xpath_count('//div[@id="divA"]/a')
random.randrange(1,numOfLinks)
sel.click('//div[@id="divA"]/a[%d]'%random.randrange(1,numOfLinks))
上面的代码将始终点击随机链接,而不必每次都获取链接的文本。