我正在尝试将图像导入谷歌表单。我无法通过 xpath 将密钥传递给元素。看来这是一个隐藏的元素。
我尝试执行脚本来取消隐藏它,但没有成功。
也尝试过这个解决方案:如何使用 Selenium WebDriver python 访问隐藏的文件上传字段 https://stackoverflow.com/questions/30844294/how-to-access-hidden-file-upload-field-with-selenium-webdriver-python
Python-Selenium“输入类型文件”上传 https://stackoverflow.com/questions/49275041/python-selenium-input-type-file-upload
有没有人有通过拖放文件对话框导入谷歌表单的方法。
我通常会收到一个错误:
NoSuchElementException: no such element: Unable to locate element:
我正在发送一些伪代码:
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('ANY GOOGLE FORM URL')
browser.find_element_by_xpath('//*[@id="mG61Hd"]/div/div[2]/div[2]/div[5]/div/div[3]/span/span').click()
fileinput = browser.find_element_by_xpath("//div[contains(@class,'Nf-Er-Xr')]")
fileinput.send_keys('some image path')
单击时ADD FILEGoogle Forms 中的按钮,它会打开一个弹出窗口,这是一个iframe https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe. An iframe
基本上是一个嵌入到另一个 HTML 页面中的 HTML 页面。为了使用它,你必须告诉 Selenium 将上下文切换到那个iframe
.
Check this https://stackoverflow.com/questions/44834358/switch-to-an-iframe-through-selenium-and-python所以问题解释了你如何将上下文切换到iframe
。对于您的具体情况,即 Google 表单,代码为 ―
iframe = driver.find_element_by_class_name('picker-frame')
driver.switch_to.frame(iframe)
input_field = driver.find_element_by_xpath('//input[@type="file"]')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)