Selenium webdriver 如何用Python+;硒
我有Selenium webdriver 如何用Python+;硒,selenium-webdriver,selenium-chromedriver,Selenium Webdriver,Selenium Chromedriver,我有span上传图片的链接。当我点击这个链接时,它会打开一个Chrome窗口来选择一个文件。但是硒不能自动做到这一点。如何处理此窗口并选择文件 choose_photo = driver.find_element_by_id("form-2033-innerCt") choose_photo.click() choose_photo.send_keys("C:\\Users\\Support\\AppData\\Roaming\\Skype\\My Skype Received Files\\1
span
上传图片的链接。当我点击这个链接时,它会打开一个Chrome窗口来选择一个文件。但是硒不能自动做到这一点。如何处理此窗口并选择文件
choose_photo = driver.find_element_by_id("form-2033-innerCt")
choose_photo.click()
choose_photo.send_keys("C:\\Users\\Support\\AppData\\Roaming\\Skype\\My Skype Received Files\\1.png")
这是要单击的HTML元素
<span id="fileuploadfield-2034-button-btnInnerEl" data-ref="btnInnerEl" unselectable="on" class="x-btn-inner x-btn-inner-default-small">Choose photo</span>
选择照片
截图:
请注意,
HTM
L元素不是type=file
,如您所见。在HTML中,上载文件的常用方法是使用输入类型=file
。我猜在您的例子中,文件
输入是隐藏的,单击span
会触发它。
您可以尝试找到隐藏的输入并在其中键入
另请参见HTML中的上传文件的常用方法是使用
输入类型=文件
。我猜在您的例子中,文件
输入是隐藏的,单击span
会触发它。
您可以尝试找到隐藏的输入并在其中键入
另请参见
>
或
尝试使用AutoIT上载文件,如果此选项不适用于您,则使用AutoIT上载文件>
>
或
尝试使用AutoIT上载文件,如果此选项不适用于您,则使用AutoIT上载文件。下载和安装AutoIT的步骤:-
WinWait("[CLASS:#32770]","",10)
使用WinWait返回的句柄将输入焦点设置为Upload窗口的编辑控件
ControlFocus("File Upload","","Edit1")
Sleep(2000)
在编辑字段上设置文件名文本
ControlSetText("File Upload", "", "Edit1", "SomeFile.txt")
Sleep(2000)
单击“打开”按钮
ControlClick("File Upload", "","Button1");
.au3脚本
并将其转换为.exe
文件.exe
文件调用到Selenium测试用例中,例如
Runtime.getRuntime().exec("D:\AutoIt\AutoItTest.exe");
下载和安装AutoIt的步骤:-
WinWait("[CLASS:#32770]","",10)
使用WinWait返回的句柄将输入焦点设置为Upload窗口的编辑控件
ControlFocus("File Upload","","Edit1")
Sleep(2000)
在编辑字段上设置文件名文本
ControlSetText("File Upload", "", "Edit1", "SomeFile.txt")
Sleep(2000)
单击“打开”按钮
ControlClick("File Upload", "","Button1");
.au3脚本
并将其转换为.exe
文件.exe
文件调用到Selenium测试用例中,例如
Runtime.getRuntime().exec("D:\AutoIt\AutoItTest.exe");
你能检查兄弟姐妹/祖先的
吗?你能检查兄弟姐妹/祖先的
吗?正如我前面所说,没有带有InputTypeFile的元素。我会试试你的code@Sergeymoroz使用AutoITchoose\u photo=driver。通过id(“form-2033-innerCt”)查找元素\u选择\u photo。单击()autoit.win\u wait\u active(“Open”)打印(autoit.win\u get\u title\u by\u handle())autoit.send\u key(os.path.join(“C:\\Users\\Support\\AppData\\Roaming\\Skype\\,“1.png”))autoit.send({ENTER})它也不起作用,正如我以前所说,没有具有InputTypeFile的元素。我会试试你的code@Sergeymoroz使用AutoITchoose\u photo=driver。通过\u id(“form-2033-innerCt”)查找\u元素\u选择\u photo。单击()autoit.win\u wait\u active(“Open”)打印(autoit.win\u get\u title\u by\u handle())autoit。发送密钥(os.path.join(“C:\\Users\\Support\\AppData\\Roaming\\Skype\\,“1.png”))autoit.send({ENTER})也不起作用