pythonselenium:如何在输入字段中获取JavaScript生成的文本

2024-09-26 22:53:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用Python&Selenium从我网页上的一个表单中的用户名字段获取文本时遇到了一个问题。在

在从列表中选择用户后,我有一个由JS填充的字段:

<select id="users" onchange="checkUser(document.getElementById('configpin'))" ondblclick="document.getElementById('users').size=1; showUser(document.getElementById('configpin'))" onmouseout="document.getElementById('users').size=1" size="1"><option value="1">1 User 1</option>[...]</option></select>

领域:

^{pr2}$

我试着让文本显示在那个区域,但它不起作用。 我试着:

uname = driver.find_element_by_id('name1').get_attribute('innerHTML')

以及:

uname = driver.find_element_by_id('name1').text

但在这两种情况下,我得到的只是一个空字符串。我想这是一个常见的问题,应该有一些明显的解决办法,但我找不到。在


Tags: 用户文本idsizebydriverelementfind
2条回答

我深入分析了网页源代码,结果发现,JS实际上调用了Ajax,当我读到this thread时,您只需使用.get_attribute('value')来获取文本。起初我觉得这很奇怪,因为html代码中没有属性'value',但是它可以工作。在

也许你必须按名称找到元素,比如:

uname = driver.find_element_by_name('name1').text

看看这里的官员documentation。在

相关问题 更多 >

    热门问题