如何更改位置?
How to change the location?
我正在尝试使用 Python 中的 Selenium 将图片自动上传到 Instagram。在打开 fileDialogue 之前我是成功的,但我无法将目录更改为图像所在的位置。 returns AutoIt 无法检测到 ToolbarWindow32 的错误。
我的代码:
ActionChains(browser).move_to_element(browser.find_element_by_xpath(
"/html/body/div[8]/div[2]/div/div/div/div[2]/div[1]/div/div/div[2]/div/button")).click().perform()
handle = f"[CLASS:#32770; TITLE:Open]"
autoit.win_wait(handle, 60)
autoit.control_set_text(handle, "ToolbarWindow32", photopath) # This line give me the Error
autoit.control_set_text(handle, "Edit1", photopath)
autoit.control_click(handle, "Button1")
看看在 _WD_SelectFiles
中是如何完成的:https://github.com/Danp2/au3WebDriver/blob/master/wd_helper.au3
您应该可以直接使用 python+selenium 执行相同的操作,而无需使用 AutoIt。
另请查看:
https://github.com/Danp2/au3WebDriver/blob/master/wd_demo.au3
有一个例子是如何直接在 AutoIt 中用 WebDriver UDF 做同样的事情而不用打开任何 FileOpenDialog
:
Func DemoUpload()
; REMARK This example uses PNG files created in DemoWindows
; navigate to "file storing" website
_WD_Navigate($sSession, "https://www.htmlquick.com/reference/tags/input-file.html")
; select single file
_WD_SelectFiles($sSession, $_WD_LOCATOR_ByXPath, "//section[@id='examples']//input[@name='uploadedfile']", @ScriptDir & "\Screen1.png")
; select two files at once
_WD_SelectFiles($sSession, $_WD_LOCATOR_ByXPath, "//p[contains(text(),'Upload files:')]//input[@name='uploadedfiles[]']", @ScriptDir & "\Screen1.png" & @LF & @ScriptDir & "\Screen2.png")
; accept/start uploading
Local $sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//p[contains(text(),'Upload files:')]//input[2]")
_WD_ElementAction($sSession, $sElement, 'click')
EndFunc ;==>DemoUpload
我正在尝试使用 Python 中的 Selenium 将图片自动上传到 Instagram。在打开 fileDialogue 之前我是成功的,但我无法将目录更改为图像所在的位置。 returns AutoIt 无法检测到 ToolbarWindow32 的错误。
我的代码:
ActionChains(browser).move_to_element(browser.find_element_by_xpath(
"/html/body/div[8]/div[2]/div/div/div/div[2]/div[1]/div/div/div[2]/div/button")).click().perform()
handle = f"[CLASS:#32770; TITLE:Open]"
autoit.win_wait(handle, 60)
autoit.control_set_text(handle, "ToolbarWindow32", photopath) # This line give me the Error
autoit.control_set_text(handle, "Edit1", photopath)
autoit.control_click(handle, "Button1")
看看在 _WD_SelectFiles
中是如何完成的:https://github.com/Danp2/au3WebDriver/blob/master/wd_helper.au3
您应该可以直接使用 python+selenium 执行相同的操作,而无需使用 AutoIt。
另请查看: https://github.com/Danp2/au3WebDriver/blob/master/wd_demo.au3
有一个例子是如何直接在 AutoIt 中用 WebDriver UDF 做同样的事情而不用打开任何 FileOpenDialog
:
Func DemoUpload()
; REMARK This example uses PNG files created in DemoWindows
; navigate to "file storing" website
_WD_Navigate($sSession, "https://www.htmlquick.com/reference/tags/input-file.html")
; select single file
_WD_SelectFiles($sSession, $_WD_LOCATOR_ByXPath, "//section[@id='examples']//input[@name='uploadedfile']", @ScriptDir & "\Screen1.png")
; select two files at once
_WD_SelectFiles($sSession, $_WD_LOCATOR_ByXPath, "//p[contains(text(),'Upload files:')]//input[@name='uploadedfiles[]']", @ScriptDir & "\Screen1.png" & @LF & @ScriptDir & "\Screen2.png")
; accept/start uploading
Local $sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//p[contains(text(),'Upload files:')]//input[2]")
_WD_ElementAction($sSession, $sElement, 'click')
EndFunc ;==>DemoUpload