如何使用 Python 和 Selenium 在 Chrome 中打开具有不同 URL 的新标签页? [复制]
Posted
技术标签:
【中文标题】如何使用 Python 和 Selenium 在 Chrome 中打开具有不同 URL 的新标签页? [复制]【英文标题】:How to open new tabs in Chrome with different URL's in them using Python and Selenium? [duplicate] 【发布时间】:2020-06-05 05:28:18 【问题描述】:好的,所以我的问题是我想制作一个“meme”程序,它只会在不同的选项卡中打开一堆 p0rn 网站,其中包含所有开始播放的视频,我的问题是我不知道如何使用选项卡执行此操作,因为我的 links.json 数组中的每个 URL 都只会重新加载到同一个选项卡上,所以在大约 2 秒的时间跨度内,所有页面都会重新加载到同一个选项卡上,而我还没有找到任何解决方法互联网“使用数组,循环而不是关闭选项卡”,否则有一些修复,但如果您几乎必须立即关闭选项卡,该程序没有意义所以我问你们中的任何人都知道如何以某种方式使用 Selenium 来做到这一点?我知道还有其他一些方法,但是程序没有意义,它应该像这样工作:
打开程序 -> 打开 Chrome -> 链接中的链接:使用 .json 文件(数组)中的 URL 打开新选项卡 -> 查找元素(“是,我 18 岁或以上)-> 点击是按钮 -> 找到播放按钮 -> 点击它 并以某种方式对 links.json 文件中的所有 URL 或元素重复该过程
我编写的代码还没有实现太多,因为我只是不知道如何使用新标签重复循环
代码(到目前为止):
import string
import os
import json
from selenium import webdriver
import webbrowser
from selenium.webdriver.common.keys import Keys
import chromedriver_binary
import time
from selenium.webdriver import ActionChains
driver = webdriver.Chrome(executable_path='C:\Program Files\chromedriver80\chromedriver.exe')
links = json.loads(open("links.json").read())
for link in links:
driver.get(link) #only opens all the files in one tab :(
#THIS IS HOW IT SHOULD BE IDEALLY:
#NEW TAB
#Open URL in Chrome
#Find 18y.o. button
#press YES
#find play button
#press it
#LOOP AGAIN
print("Now accessing: " + link)
.json 文件(我不确定我是否可以添加实际链接,所以如果你想测试它也许只是找到你自己的我用 xnnx 只是说')
[ "p0rnLinkNo.0",
"p0rnLinkNo.1",
"p0rnLinkNo.2",
"p0rnLinkNo.3",
"p0rnLinkNo.4"]
我可以找出按钮,但无法找出标签,请帮助
【问题讨论】:
*** 上有很多例子。做一些搜索! ***.com/questions/28431765/… 这能回答你的问题吗? Open web in new tab Selenium + Python 您好,感谢您的反馈,但我已经看过其中的几个,并亲自尝试过,但不起作用 CONTROL + t 解决方案在 Chrome 80 中不起作用 【参考方案1】:我很抱歉发布我已经有了解决方案,但是我在错误的地方定义了变量,所以它不起作用 解决方案代码:
import string
import os
import json
from selenium import webdriver
import webbrowser
from selenium.webdriver.common.keys import Keys
import chromedriver_binary
import time
from selenium.webdriver import ActionChains
driver = webdriver.Chrome(executable_path='C:\Program Files\chromedriver80\chromedriver.exe')
links = json.loads(open("links.json").read())
temp = 1
for link in links:
driver.execute_script("window.open('');")
driver.switch_to.window(driver.window_handles[temp])
driver.get(link)
print("Now accessing: " + link)
temp += 1
感谢您的反对 XD
【讨论】:
以上是关于如何使用 Python 和 Selenium 在 Chrome 中打开具有不同 URL 的新标签页? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 python 中使用 Selenium 和 Beautifulsoup 解析网站? [关闭]
如何使用 Selenium 和 Python 在 Python 类中调用方法
如何使用 Selenium 和 Python 在控制台中跳过调试日志