3、selenium 问题汇总
一、'chromedriver' executable needs to be in PAT: 解决方法
- 下载谷歌驱动文件:Chromedriver.exe
- 将Chromedriver.exe 拷贝到 谷歌浏览器目录(如 C:\Users\Administrator\AppData\Local\Google\Chrome\Application)以及 python 根目录(c:\Python 27 )
- 环境变量 path 添加 谷歌浏览器目录:
- 添加环境变量后,重启 Pycharm
二、时间日期控件定位问题
- 很多日期控件输入框都是只读的,无法手动输入日期。定位不到日期控件怎么办?
- 解决方法:js 移除日期控件输入框的只读属性
-
js = '$(\'input[属性名=属性值]\').removeAttr(\'readonly\')'
driver.execute_script(js)
-
之后,再采用webdriver中webelement的定位方法,来往输入框里面传值。
js = '$(\'input[id = endDate]\').removeAttr(\'readonly\')'
driver.execute_script(js)
driver.find_element_by_id('endDate').send_keys(time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time())))
三、复选框:根据属性选中
四、复选框:随机勾选
driver.find_element_by_xpath(u"//input[contains(@data-index,%s)]" % random_num).click()
五、下拉菜单 根据 value 选中
六、ClassName:不允许使用复合类名做参数
- 真实环境中元素往往使用复合类名(即多个class用空格分隔),使用className定位时要注意了,className的参数只能是一个class。
转:
https://www.cnblogs.com/sylvia-liu/p/4469084.html