Как передать URL как пользовательский ввод для вызова через Selenium и Python? - PullRequest
0 голосов
/ 29 августа 2018

Каждый раз, когда я запускаю свой скрипт, я хочу, чтобы он спрашивал меня, что такое целевой URL, используя input (), чтобы он мог сохранять его как переменную и использовать в функции, но каждый раз, когда я вводил URL, скрипт не будет продолжить и нажатие клавиши ввода заставляет его открывать URL в моем браузере по умолчанию в качестве вкладки вместо нового объекта Chrome.

def function1(targeturl):
 driver = webdriver.Chrome()
 driver.get(targeturl)

print('What is the website?')
webPage = input()
function1(webPage)

Я не уверен, важна ли IDE, но я использую Pycharm. Я скопирую и вставлю URL после того, как он спросит меня, и когда я нажму Enter, он откроет URL вместо продолжения сценария

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

Если тебе так нравится, что происходит? сначала назначьте "targeturl" в качестве глобальной переменной.

targeturl = "xxxx"
def function1(targeturl):
 driver = webdriver.Chrome()
 driver.get(targeturl)

print('What is the website?')
webPage = input()
function1(webPage)
0 голосов
/ 29 августа 2018

Чтобы вызвать url , выбранный как пользователь input , вы можете использовать функцию input().

Вот ваша собственная программа с некоторыми простыми улучшениями, которая будет принимать 3 URL по одному от пользователя и переходить к соответствующим URL :

  • Кодовый блок:

    from selenium import webdriver
    
    def function1(targeturl):
        driver.get(targeturl)
        # perform your taks here
    
    driver = webdriver.Chrome()
    for i in range(3):
        webPage = input("What is the website url?(Press enter at the end to continue):")
        function1(webPage)
    driver.quit()
    
  • Выход на консоль:

    What is the website url?(Press enter at the end to continue):http://www.google.com
    What is the website url?(Press enter at the end to continue):http://www.facebook.com
    What is the website url?(Press enter at the end to continue):http://www.gmail.com
    
0 голосов
/ 29 августа 2018

Я не совсем понимаю, что именно вы хотите сделать, но скрипт перестает работать, потому что все действия выполнены.

Как в Selenium Doc говорят: «Метод driver.get будет переходить на страницу, указанную в URL».

Например, вы можете добавить это к своей функции (вернуть заголовок страницы, некоторые действия и затем выйти из драйвера):

print browser.title
'''
Make some actions
'''
browser.quit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...