使用Selenium和Python3向文本添加唯一的时间戳

时间:2018-06-19 15:47:41

标签: python-3.x selenium selenium-webdriver webdriver strftime

这个简单的问题,我以为我可以找到一个简单的答案,但到目前为止,还没有运气。

我正在创建自动完成注册表单的程序,为此,我理想情况下需要发送一些唯一的文本。我正在考虑使用名称+时间戳(可以在Ghost Inspector上执行)。

目前我可以在代码中每次写一个快速的唯一名称(使用send.keys('')),只是想看看是否真的有办法消除这种琐事。

2 个答案:

答案 0 :(得分:1)

要向文本添加唯一 时间戳,您可以使用strftime()模块中的 Python的 time方法,如下所示:如下:

  • 代码块:

    from selenium import webdriver
    from time import gmtime, strftime
    
    options = webdriver.ChromeOptions() 
    options.add_argument("start-maximized")
    options.add_argument('disable-infobars')
    driver=webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get("http://www.google.com")
    driver.find_element_by_name("q").send_keys("James Stott{}".format(strftime("%Y-%m-%d %H:%M:%S", gmtime())))
    
  • 浏览器快照:

name_timestamp_strftime

答案 1 :(得分:0)

您可以使用此代码生成随机字符串,然后将其发送到sendKeys("")命令。

import string
import random
def random_string(length):
    return ''.join(random.choice(string.ascii_letters) for m in range(length))

print random_string(10)
print random_string(5)  

如果要使用UUID:

import uuid

id = uuid.uuid1()  
print (id.hex)  // for hex representation 
print (id.int) 

如果要使用时间戳,则可以使用以下代码:

import datetime
print('Date now: %s' % datetime.datetime.now())  

这是参考链接:datetime python