(Python)通过'浏览'上传文件窗口Selenium

时间:2016-05-06 16:22:34

标签: python selenium automation

出于测试目的,我需要

  1. 通过浏览窗口(See screenshot here
  2. 选择文件
  3. 点击'打开' (将文件上传到网站)然后
  4. 点击"上传"。
  5. 我如何通过硒来做到这一点? '导致以下情况无效:

    # hident2 is the name of "Choose File" element
    wd.find_element(By.XPATH("//input[@id='hident2']")).sendKeys("C:\\Users\\file-to-upload.xml"); 
    
    # input.btn.primary is the name of "Upload" button element**
    wd.find_element_by_css_selector("input.btn.primary").click()
    

    我收到以下错误:

      

    TypeError:' str'对象不可调用

    我做错了什么?

1 个答案:

答案 0 :(得分:0)

您没有正确使用find_element()方法。将By.XPATH作为单独的参数传递:

wd.find_element(By.XPATH, "//input[@id='hident2']")

或者,使用直接快捷方式:

wd.find_element_by_xpath("//input[@id='hident2']")

或者,只需使用“by id”内置定位器:

wd.find_element_by_id("hident2")

此外,该方法称为send_keys()而不是sendKeys()