使用Selenium自动化测试选择本地文件

时间:2017-06-30 21:38:41

标签: python selenium

我在Python中使用Selenium来创建自动化测试。在此测试中,我尝试从本地目录中选择一个文件。我能够使用Java找到引用,但我很难将其转换为Python。 https://sqa.stackexchange.com/questions/12851/how-can-i-work-with-file-uploads-during-a-webdriver-test

    element=driver.find_element_by_id("file_browse").click()
    driver.file_detector("<>")
    upload=driver.find_element_by_id("<>")
    keys=upload.send_keys("<>")

对于文件检测器功能,我一直认为对象不可调用。输入应该是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

只需删除此行:

driver.file_detector("<>")

Python的远程webdriver默认使用LocalFileDetector()。这看起来像你想要的,看看链接的Java示例。

如果您需要覆盖默认值,您可以使用或子类化selenium.webdriver.remote.file_detector

中的一个可用文件检测器

似乎没有任何关于如何使用FileDetector的文档,但是source code is quite short and straightforward.

from selenium.webdriver.remote.file_detector import UselessFileDetector

driver.file_detector = UselessFileDetector()

Python设置对象成员的思想就是使用赋值运算符(=)而不是调用set方法,就像在Java中一样。