Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python,使用selenium选择文本框_Python_Selenium - Fatal编程技术网

python,使用selenium选择文本框

python,使用selenium选择文本框,python,selenium,Python,Selenium,我正在尝试使用selenium将一些文本输入文本区域 对源代码的检查揭示了以下关于textareas代码的信息。。我的文本应在“文本在此显示”的位置输入: 它会返回这样的错误消息 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 293, in find_element_by_name return self.find_element(by=By.NAME

我正在尝试使用selenium将一些文本输入文本区域

对源代码的检查揭示了以下关于textareas代码的信息。。我的文本应在“文本在此显示”的位置输入:

它会返回这样的错误消息

 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 293, in find_element_by_name
    return self.find_element(by=By.NAME, value=name)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 681, in find_element
    {'using': by, 'value': value})['value']
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 164, in execute
   ...
命令:

driver.find_element_by_id("tinymce")
给出此错误消息:

 File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 197, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 681, in find_element
    {'using': by, 'value': value})['value']
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 164, in execute
 ...
如何使用Selenium选择这样的文本框?

试试看

driver.find_element_by_id("tinymce")
中的元素具有name属性,这是您试图与
find\u element\u by\u name
匹配的元素

如果你有这样的表格

<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
</form>
所以你可以

  • find\u element\u by\u id(“tinymce”)
  • 通过css选择器(“tinymce”)查找元素
  • 通过xpath(“/*[@id='tinymce']”)查找元素
  • 。。。为了完整起见

    选择此元素后,可以使用

    驱动程序。通过id(“tinymce”)查找元素。发送密钥(“Hello world”)

    编辑:

    有时人们没有意识到选择元素在当前页面的上下文中起作用。如果您的内容位于iframe内,则需要首先切换到此iframe

    驱动程序。切换到帧(“帧名”)

    然后您可以使用
    驱动程序返回。将\u切换到\u default\u content()


    你不满足于iframe吗?@javo,是的。我已经用iframe部分更新了这个问题。。我的朋友们,我不认为这是我的错importance@user3053161我已经更新了我的答案,我想你可能在iFrame上有问题-请考虑一下你用于
    切换到\u frame
    的选择器,不要只是用另一个stacktrace更新你的问题
    driver.find_element_by_id("tinymce")
    
    <form>
    First name: <input type="text" name="firstname"><br>
    Last name: <input type="text" name="lastname">
    </form>
    
    <body id="tinymce" class="mceContentBody " contenteditable="true" onload="window.parent.tinyMCE.get('tinymcewindow').onLoad.dispatch();" spellcheck="false" dir="ltr">