最近需要写几个脚本,用于禅道的自动提写Bug。由于一直有python的使用经验,故选择selenium库来做。在学习使用selenium的过程中遇到一些难题,在此记下,以防再次遇到。
**1、**PhantomJs的安装使用问题
PhantomJS是一个绿色软件,可以根据所使用的操作系统,选择下载,然后解压,即可使用。下载地址为:PhantomJS下载地址
我只在Linux系统中使用过,并遇到一个问题。
'PhantomJS' executable may have wrong permissions
此问题产生的原因为,自2.1.1版本开始,PhantomJS就没有了执行权限,需要我们自己手动修改权限
chmod 755 PhantomJS
2、 这是一个元素定位问题
这是所需要定位的元素,其html数据为
这个input框不能输入字,点击之后出现下拉结果,第一个结果默认被选中,结果如下图
其对应的html为:
这里有一个变化的地方,如果主干这个结果被选中,则
<li class="active-result highlighted" title data-option-array-index="0" style>
中的class为active-result highlighted;如果没有被选中,则显示为
<li class="active-result" title data-option-array-index="0" style>
我在这里一度出现元素不存在,定位不到等错误。
我的解决方案为(本想语言描述,想想还是代码较为清楚直观):
driver.find_element_by_class_name("chosen-choices").click()
driver.find_element_by_class_name("highlighted").click()
我对前端接触较少,所以可能描述不是特别清楚,见谅。
待更新…