Работает два скрипта в одном браузере - PullRequest
0 голосов
/ 21 июня 2020

У меня два скрипта. Первый открывает браузер и переходит на желаемый сайт.

drv = webdriver.Chrome()
drv.get('http://some_site')

Второй скрипт заполняет веб-форму на сайте, открытом первым скриптом.

drv.find_element_by_xpath('//some_xpath')

У меня также есть Окно Tkinter с двумя кнопками. Мне очень необходимо, чтобы я мог открыть браузер с помощью первого скрипта, нажав одну кнопку, а запустив вторую кнопку, я мог запустить второй скрипт для заполнения веб-формы.

С VBA I могу легко сделать это с двумя подпрограммами в одном файле, определить public driver

Public Sub browser_open()
Set driver= New ChromeDriver
driver.Start "chrome", "http://some_site"
driver.get "/"
End Sub

и продолжить работу с драйвером в другом подпрограмме

sub WebFormFill
driver.FindElementByClass("input-text").Value = "Some text"
end sub

Но в Python я не могу этого сделать код выше

В Python Selenium вы можете запустить браузер через отдельный скрипт, а затем во втором скрипте использовать driver из первого скрипта и продолжить работу над заполнением веб-форм, запустив второй скрипт .py?

1 Ответ

0 голосов
/ 21 июня 2020

Я не думаю, что вы сможете это сделать, но вы можете поместить весь второй скрипт в def functionName(): и вызвать functionName() в конце первого скрипта. Просто не забудьте импортировать второй файл в первый, как если бы это была библиотека. Скажем, второй файл назывался hi.py, вы должны ввести import hi.

...