前置工作:
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输出是正常的,有时时空字符串);
临时备用解决方案:
if "文本" in driver.page_source: 则认为页面访问成功;
版权归原作者 Mr_wilson_liu 所有, 如有侵权,请联系我们删除。