3、selenium 问题汇总

一、'chromedriver' executable needs to be in PAT: 解决方法 

  1. 下载谷歌驱动文件:Chromedriver.exe
  2. 将Chromedriver.exe 拷贝到 谷歌浏览器目录(如 C:\Users\Administrator\AppData\Local\Google\Chrome\Application)以及 python 根目录(c:\Python 27 )
  3. 环境变量 path  添加 谷歌浏览器目录:
  4. 添加环境变量后,重启 Pycharm

 

二、时间日期控件定位问题

  1. 很多日期控件输入框都是只读的,无法手动输入日期。定位不到日期控件怎么办?
  2. 解决方法:js 移除日期控件输入框的只读属性
  3. js = '$(\'input[属性名=属性值]\').removeAttr(\'readonly\')'

    driver.execute_script(js)

  4. 之后,再采用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:不允许使用复合类名做参数

  1. 真实环境中元素往往使用复合类名(即多个class用空格分隔),使用className定位时要注意了,className的参数只能是一个class

 

 

 

转:

https://www.cnblogs.com/sylvia-liu/p/4469084.html

 

posted @ 2019-04-03 15:41  小小白的世界  阅读(191)  评论(0编辑  收藏  举报