提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
第一次开始在csdn上记录测试成长之路所遇到的问题
一、起因
问题起于20221229晚上自己根据项目编写简易自动化脚本时,使用XPATH定位下拉框中的元素,想通过函数封装定位,只需要在代码中输入想要选择的元素即可完成定位,于是就有了下面这段代码
driver.find_element(By.XPATH, demo.productionType("标准品生产")).click()
def productionType(data):
content = ["标准品生产", "定制品生产", "数据填报"]
subscript = content.index(data)
path = f'\'/html/body/div[3/div[1]/div[1]/ul/li[{subscript+1}]\''
return path
然后发生最不想见的颜色,红色,大大的红色,一片片的红色,报错如下
Failed to execute 'evaluate' on 'Document': The string '/html/body/div[3/div[1]/div[1]/ul/li[1]' is not a valid XPath expression.
二、解决之道
由于是初学者,搞不懂为什么,于是便赖上了度娘,再经过反反复复的查找,修改定位方法,发现依然是报错。用XPATH能再浏览器中检索到元素,一旦用代码就不行,后面使用了CSS定位
代码如下(示例):
selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: An invalid or illegal selector was specified
没错还是报错
经过再次再度娘身上深度摸索,在这篇文章中找到错误所在。。。黄天不负有心人
def productionType(data):
content = ["标准品生产", "定制品生产", "数据填报"]
subscript = content.index(data)
path = f'[x-placement="bottom-start"] li:nth-child({subscript+1})'
return path
前后一对比,尽然是这玩意“\”在阻碍我前进的步伐。