我在使用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
但在这两种情况下,我得到的只是一个空字符串。我想这是一个常见的问题,应该有一些明显的解决办法,但我找不到。在
我深入分析了网页源代码,结果发现,JS实际上调用了Ajax,当我读到this thread时,您只需使用.get_attribute('value')来获取文本。起初我觉得这很奇怪,因为html代码中没有属性'value',但是它可以工作。在
也许你必须按名称找到元素,比如:
看看这里的官员documentation。在
相关问题 更多 >
编程相关推荐