首先举个例子,我们想通过百度注册页面的用户栏的id来定位用户栏元素。假设目前用户栏id叫"catcat",但随时可能变更,改成"dogdod""pigpig"之类的,如果把id直接写在代码里,日后id发生变动,修改源代码也不方便。
所以需要创建一个ini文件,将相关信息放在ini里。同时调用configparser方法来读取ini里的相关信息。configparser.ConfigParser().get("节点名","常量名")
#ini文件,存放用户名栏的id
[UserElement] #[]代表节点
UserNameId = TANGRAM__PSP_4__userName
"""生成用户名"""
from selenium import webdriver
import random
from time import sleep
import configparser
#打开百度注册页面
driver = webdriver.Chrome()
driver.get("https://passport.baidu.com/v2/?reg&tpl=crt&u=http%3A%2F%2Ftest.baidu.com%2F")
sleep(2)
#选中用户名栏
cf = configparser.ConfigParser()
cf.read("LocalElement.ini")
the_elemrnt = driver.find_element_by_id(cf.get("UserElement","UserNameId"))
sleep(1)
print(the_elemrnt.get_attribute("placeholder"))
#随机生成用户名
n = random.randint(6, 10)
user = ''.join(random.sample('abcdefghijklmnopqrstuvwxyz123456789', n))
the_elemrnt.send_keys(user)
sleep(1)
#打印用户名
print(the_elemrnt.get_attribute("value"))
浙公网安备 33010602011771号