Открытие вкладок с использованием селена на основе пользовательского ввода - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь создать сценарий, в котором программа принимает несколько URL-адресов, а затем открывает вкладки для каждого из них, вот что я придумала


s=raw_input()
l=s.split()
t=len(l)

for elements in l:
    elements = ["https://" + elements + "" for elements in l]

driver = webdriver.Chrome(r"C:/Users/mynam/Desktop/WB/chromedriver.exe")

driver.get("https://www.google.com")

for e in elements:
    driver.implicitly_wait(3)
    driver.execute_script("window.open(e,'new window')")

print "Opened in new tab"

Я получаю сообщение об ошибке не определено, как мы передаем аргумент в window.open в селене

1 Ответ

0 голосов
/ 31 января 2020

Вам нужно запустить новое окно, переключиться на него и открыть новую страницу.

from selenium import webdriver
import os


def open_tab_page(page, page_number):
    browser.execute_script("window.open('');")
    browser.switch_to.window(browser.window_handles[page_number])
    browser.get(page)

# initialise driver
chrome_driver = os.path.abspath(os.path.dirname(__file__)) + '/chromedriver'
browser = webdriver.Chrome(chrome_driver)
browser.get("http://stackoverflow.com/")

# list of pages to open
pages_list = ['https://www.google.com', 'https://www.youtube.com/']

page_number = 1
for page in pages_list:
    open_tab_page(page, page_number)
    page_number +=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...