Как передать существующий драйвер другим функциям? - PullRequest
0 голосов
/ 17 февраля 2019

В моем коде есть 2 функции, одна из которых создает объект драйвера, а другая заставляет драйвер переходить по URL-адресу и так далее.Я пытаюсь передать драйвер, который первая функция создает для секунд.Это мой код:

import urllib3
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

url = 'https://www.example.com'
def drivercreate():
    options = Options()
    options.add_argument("user-data-dir=C:\\Users\\me\\AppData\\Local\\Google\\Chrome\\User Data")
    options.add_argument("profile-directory=Profile 19")
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', options=options)
    return driver
def urlget():
    driver.get(url)

Однако это говорит о том, что переменная драйвера не определена, а не идет в URL с помощью команды get.Я попытался поместить функцию drivercreate в класс и передать ее функции urlget, однако это просто говорит о том, что функция не имеет атрибута get.Я новичок, поэтому я благодарен за любую помощь по этому вопросу:)

1 Ответ

0 голосов
/ 17 февраля 2019

У вас должен быть дополнительный параметр во второй функции, чтобы вы могли передать ему драйвер в качестве аргумента.

def urlget(driver):
    driver.get(url)

После внесения исправлений вы можете попробовать следующее.

driver = drivercreate()
urlget(driver)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...