如何通过url作为用户输入来通过Selenium和Python调用?

时间:2018-08-28 23:21:07

标签: python selenium selenium-webdriver webdriver user-input

每次运行脚本时,我都希望它使用input()来询问目标URL是什么,以便它可以将其存储为变量并在函数中使用它,但是每次输入URL时,脚本都不会继续,然后按Enter键会使其在我的默认浏览器中作为选项卡(而不是新的chrome对象)打开网址。

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

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

我不确定IDE是否重要,但是我正在使用Pycharm。我会在询问后复制并粘贴该网址,当我按Enter键时,它将打开该网址,而不是继续执行脚本

3 个答案:

答案 0 :(得分:1)

要调用作为用户 input url ,可以使用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
    

答案 1 :(得分:0)

我不确定您想做什么,但脚本已停止运行,因为所有操作都已完成。

就像Selenium Doc所说的那样:“ driver.get方法将导航到URL给定的页面。”

例如,您可以将其添加到函数中(返回页面标题,执行某些操作,然后退出驱动程序):

print browser.title
'''
Make some actions
'''
browser.quit()

答案 2 :(得分:0)

如果您这样做,会发生什么?首先将“ targeturl”分配为全局变量。

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

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