Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 如何使用splinter填充表格内的输入框?_Python_Html_Forms_Testing_Splinter - Fatal编程技术网

Python 如何使用splinter填充表格内的输入框?

Python 如何使用splinter填充表格内的输入框?,python,html,forms,testing,splinter,Python,Html,Forms,Testing,Splinter,我的html结构如下所示: <table id="Table1" style="Z-INDEX: 101; LEFT: 52px; WIDTH: 407px; POSITION: absolute; TOP: 53px" width="407" cellspacing="1" cellpadding="1" border="0"> <tbody><tr> <td style=

我的html结构如下所示:

    <table id="Table1" style="Z-INDEX: 101; LEFT: 52px; WIDTH: 407px; POSITION: absolute; TOP: 53px" width="407" cellspacing="1" cellpadding="1" border="0">
                <tbody><tr>
                    <td style="WIDTH: 102px"></td>
                    <td></td>
                    <td></td>
                </tr>
                <tr>
                    <td style="WIDTH: 102px">Email</td>
                    <td>
                        <input name="TextBox1" id="TextBox1" style="width:153px;" type="text"></td>
                    <td></td>
                </tr>
                <tr>
                    <td style="WIDTH: 102px">Password</td>
                    <td>
                        <input name="TextBox2" id="TextBox2" style="width:153px;" type="password"></td>
                    <td>
                        <input name="Button1" value="Login" id="Button1" style="width:68px;" type="submit"></td>
                </tr>
                <tr>
                    <td style="WIDTH: 102px"></td>
                    <td> </td>
                    <td></td>
                </tr>
                <tr>
                    <td style="WIDTH: 102px; height: 20px;"><a href="signinup.aspx">Sign up</a></td>
                    <td style="height: 20px">
                        <a href="changepassword.aspx">Change Password</a></td>
                    <td style="height: 20px"><a href="RetrievePassword.aspx">Retrieve Password</a></td>
                </tr>
                <tr>
                    <td style="WIDTH: 102px"></td>
                    <td> </td>
                    <td></td>
                </tr>
            </tbody>
         </table>
但它返回给我一个错误:

splinter.exceptions.ElementDoesNotExist: no elements could be found with name "TextBox1"

有人能帮忙吗?我第一次使用splinter

正如您在评论中提到的,问题源于包装盒的框架。像这样绕过它:

browser.visit(browser.find_by_tag('frame')[0]['src'])
browser.fill('TextBox1', 'John')

它起作用了!添加完整的示例,以便我们能够help@PiotrDawidiuk我添加了完整的示例,让我知道缺少了什么?我已经重新创建了这个案例,它很有效。试试看:/home/x/example.html是您发布的html。它将填写表格。所以我想你在其他地方有个错误,这就是我需要更多细节的原因。谢谢@piotrdawiduk,你是对的。我还尝试了特定的html,仅用于应用browser.fill函数。它起作用了!但是,当我尝试时,同样的事情不起作用。你能告诉我为什么在这种情况下会出现错误吗?是因为它在一个框架内吗?谢谢,那个索引是用来做什么的?嗯,find_by_标签总是返回一个列表,所以索引0返回第一个或唯一一个。如果答案对你有帮助,你能投票吗
browser.visit(browser.find_by_tag('frame')[0]['src'])
browser.fill('TextBox1', 'John')