【问题标题】:Why does image uploading fails with error as selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element为什么图像上传失败,错误为 selenium.common.exceptions.WebDriverException:消息:未知错误:无法聚焦元素
【发布时间】:2018-06-11 09:20:48
【问题描述】:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
import os
import time
wait = WebDriverWait
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs",prefs)
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("--incognito")
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=r'C:\\chromedriver\\chromedriver.exe')
driver.maximize_window()
driver.get("https://www.arttoframe.com/")
time.sleep(3)
driver.find_element_by_xpath('//*[@id="page_zazzleHeader_navSectionShop-title_7"]').click()
driver.find_element_by_xpath('//*[@id="Start_over"]').click()
driver.find_element_by_xpath('//*[@id="frame-canvas"]').click()
driver.find_element_by_xpath('//*[@id="computer"]').send_keys(os.getcwd()+"C://Users/Dell//Downloads//Living_Room.png")

  File "C:\Users\Dell\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Dell\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element
  (Session info: chrome=66.0.3359.181)
  (Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Windows NT 10.0.16299 x86_64)

【问题讨论】:

    标签: python selenium selenium-webdriver webdriver selenium-chromedriver


    【解决方案1】:

    此错误消息...

    selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element
    

    ...暗示 WebDriver 实例,即 driver 无法专注于通过您的 Locator Strategy 识别的元素。 p>

    您的主要问题是,您试图在具有 Locator Strategy 的元素上调用 send_keys()

    driver.find_element_by_xpath('//*[@id="computer"]')
    

    这个Locator Strategy标识了一个List元素,如下:

    <li id="computer" style="width:160px !important;" class="computer firstUpload" data-api="" data-value="upload" title="Computer"></li>
    

    &lt;li&gt; 标签不接受任何字符序列。只有&lt;input&gt; 标签接受字符序列。因此,当您尝试调用 send_keys() 驱动程序 时无法将焦点设置在元素上。

    因此图片上传失败。

    元素快照:

    【讨论】:

    • 那么,我该如何上传图片呢?
    • @PrashantSanap 也许要上传图片,您必须探索其他选项,例如AutoITRIDE 框架
    • @DebanjanB 谢谢
    猜你喜欢
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 2019-03-27
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    相关资源
    最近更新 更多