Selenium-rc:有没有办法发送请求缓冲区

时间:2010-01-01 14:16:26

标签: selenium buffer selenium-rc

假设我有一个链接列表,并希望随机点击一个链接:

<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发送了许多请求。我的问题是:有没有办法将所有这些请求保存在缓冲区中并立即发送?

1 个答案:

答案 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))

上面的代码将始终点击随机链接,而不必每次都获取链接的文本。