python selenium自动化入门:查找、输入和点击

前置工作:

google浏览器:下载google浏览器驱动,驱动下载后放在和python.exe文件同路径即可,

python环境:python3+selenium4

正题:

代码如下,通过xpath去查找元素,查找元素过程采用显示等待,超时时间设置10s

import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait

def find_element(driver,a):
    # 10s内每隔1s循环查询一次元素,找到元素返回元素本身,找不到抛超时异常
    element = WebDriverWait(driver,10,1).until(lambda x:x.find_element(By.XPATH,a))
    return element

if __name__ == '__main__':
    # 忽略https认证
    options = webdriver.ChromeOptions()
    options.add_argument('--ignore-certificate-errors')
    #新增浏览器驱动对象,可用来捕捉、操作浏览器元素
    driver = webdriver.Chrome(options=options)
    driver.get('https://10.87.13.10')
    #捕捉登录框,输入账号
    element_xpath ="//*[@id='container']/div[3]/div[3]/table/tbody/tr/td/div[2]/form/div[1]/div[1]/div/input"
    find_element(driver,element_xpath).send_keys('admin')
    # 捕捉密码框,输入密码
    element_xpath ="//*[@id='container']/div[3]/div[3]/table/tbody/tr/td/div[2]/form/div[1]/div[2]/div/input"
    find_element(driver,element_xpath).send_keys('test@12345')
    #捕捉登录按钮,点击登录
    element_xpath ="//*[@id='container']/div[3]/div[3]/table/tbody/tr/td/div[2]/form/button"
    find_element(driver,element_xpath).click()

    #关闭浏览器窗口
    time.sleep(10)
    driver.close()


xpath路径可以在google浏览器f12后直接复制:

选择elements的对应元素行,右键-copy-copy Xpath

分割线:20230220

今天在一个页面查找元素,元素的text内容输出后,一直是空字符串。本来是想通过对比text内容来判断页面访问成功了,但目前卡主了,原因也不清楚(有时候元素的text输出是正常的,有时时空字符串);

扫描二维码关注公众号,回复: 16773128 查看本文章

临时备用解决方案:

if "文本" in driver.page_source: 则认为页面访问成功;

猜你喜欢

转载自blog.csdn.net/Mr_wilson_liu/article/details/128950362