我已经使用硒生成了链接列表,我需要在单独的标签中打开每个链接。我已经尝试过body.send_keys(Keys.CONTROL +"t")
和body.send_keys(Keys.COMMAND+"t")
都没有用(没有错误,但是什么也没发生),在搜索答案后,我发现了该链接Opening new tabs selenium,但是他们大多使用Java脚本(可以正常工作,它打开了一个新标签)运行它,我似乎无法操纵,如
driver.execute_script('''window.open("http://bings.com","_blank");''')
但是我不能在如下的for循环中使用它:
for link in links:
#driver.execute_script("window.open('https://www.yahoo.com')")
driver.execute_script("window.open('%s')")%link
编辑1:要重复,给出的答案是有效的Java脚本代码,但是我不能直接在for循环中使用
。我是否需要打开一个新的随机站点(使用上面的Java脚本),然后driver.get(link)
才能到达我的原始链接
如果重要的话,我在Linux上使用python 2.7。
答案 0 :(得分:0)
您可以创建一个control_string
作为脚本传递:
links = ['https://www.yahoo.com', 'http://bings.com']
for link in links:
control_string = "window.open('{0}')".format(link)
driver.execute_script(control_string)