无法在 selenium python 中将密钥发送到 td(没有可用的输入标签)

我可以找到该元素并单击它:


driver.find_element_by_xpath("//*[@id='tinymce']/table/tbody/tr[2]/td[1]").click()

当我尝试使用 send_keys 发送给它时:


driver.find_element_by_xpath("//*[@id='tinymce']/table/tbody/tr[2]/td[1]").send_keys("test")

我得到


    Traceback (most recent call last):

  File "C:\Users\jlesslar\Documents\Scripts\post robot automater.py", line 60, in <module>

    driver.find_element_by_xpath("//*[@id='tinymce']/table/tbody/tr[2]/td[1]").send_keys("test")

  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 479, in send_keys

    'value': keys_to_typing(value)})

  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute

    return self._parent.execute(command, params)

  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute

    self.error_handler.check_response(response)

  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response

    raise exception_class(message, screen, stacktrace)

WebDriverException: Message: unknown error: cannot focus element

  (Session info: chrome=72.0.3626.81)

  (Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 10.0.17134 x86_64)

至于我不能告诉 td 是我想要将 send_keys 发送到的位置,但在网上它说我应该有一个文本字段或输入标签可供我使用让 send_keys 工作(我没有)

http://img3.mukewang.com/61a5e7c7000126e318920723.jpg

精慕HU
浏览 208回答 1
1回答

慕莱坞森

您应该能够通过使用 execute_script() 的 JS 来更改 innerHTML 值首先获取您的元素:el&nbsp;=&nbsp;driver.find_element_by_xpath("//*[@id='tinymce']/table/tbody/tr[2]/td[1]")然后尝试直接设置innerHTML值:driver.execute_script('arguments[0].innerHTML&nbsp;=&nbsp;"test";',&nbsp;el)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python