2013-10-31 51 views
0

检索XML形式我将直接切入正题和问题:与Python硒

首先,这里是我下面的代码(这很简单):

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.ui import Select, WebDriverWait 
el = driver.find_element_by_id("id1") 
el.clear() 
el.send_keys("2147000001") 
el = driver.find_element_by_id("id2") 
el.click() 
el = driver.find_element_by_id("id3") 
el.click() 
textbox = driver.find_element_by_id("id4") 
asd = textbox.get_attribute("innerHTML") 
print asd 

我现在面临的问题是,它什么都不打印。我已经检查与萤火虫的ID4元素,它是这样的:

<textarea spellcheck="false" class="debug hint" id="id4" style="display: inline;"> 

&lt;?xml version="1.0"?&gt; 


&lt;?xml version="1.0"?&gt; 

org.oneandone.ipayment.fraud.wrappers.SimilarIpaymentIdsResponse { 
    *ipaymentIds =&gt; org.oneandone.ipayment.fraud.IpaymentIds { 
    ipaymentId =&gt; [ 
    0 =&gt; 80000000000 
    1 =&gt; 2147000165 
    2 =&gt; 2147000180 
    3 =&gt; 2147000130 
    4 =&gt; 2147000190 
    5 =&gt; 2147000192 
    6 =&gt; 2147000197 
    7 =&gt; 2147000144 
    8 =&gt; 2147000151 
    9 =&gt; 2147000198 
    10 =&gt; 2147000001 
    11 =&gt; 2147000170 
    12 =&gt; 2147000185 
    13 =&gt; 2147000179 
    14 =&gt; 2147000182 
    15 =&gt; 2147000183 
    16 =&gt; 2147000186 
    17 =&gt; 2147000193 
    18 =&gt; 2147000199 
    19 =&gt; 2147000201 
    20 =&gt; 2147000202 
    21 =&gt; 2147000204 
    22 =&gt; 2147000187 
    23 =&gt; 2147000218 
    24 =&gt; 2147000222 
    25 =&gt; 2147000301 
    26 =&gt; 2147000433 
    27 =&gt; 2147000434 
    28 =&gt; 2147000438 
    29 =&gt; 2147000461 
    30 =&gt; 2147000120 
    31 =&gt; 2147000462 
    32 =&gt; 2147002088 
    33 =&gt; 2147002672 
    34 =&gt; 2147003278 
    35 =&gt; 2147000229 
    36 =&gt; 2147000232 
    37 =&gt; 2147000326 
    ] 
    __id =&gt; "0.97800600 1383227941" 
} 
    errorcode =&gt; 0 
    additional =&gt; "Similar ipaymentIds of 2147000001 retrieved." 
    __id =&gt; " 

0.97788900 1383227941" 
}</textarea> 

如果我尝试使用outerHTML它打印一切,但XML。这是为什么?我如何获得我需要的信息?它是通过javascript生成的。

+0

什么是这行提取'asd = textbox.get_text()'?你可以尝试让我们知道吗? – Hemanth

+0

嗨。我无法使用textbox.get_text()(AttributeError的: 'WebElement' 对象没有属性 'get_text') 但是,我succesfuly使用textbox.text - >结果是一个空行... 如果我使用ASD = textbox.get_attribute( “outerHTML”)我得到打印的线,其是这样的: 但它不包含我试图获取的XML – Galactionn

回答

0

我已经设法自己找到了这个问题的答案(最后);该脚本在实际输出值之前需要超时“time.sleep(1)”,因为该字段是使用jquery填充的。 没有超时,脚本实际上在元素被填充之前抓取元素的innerHTML。这就是为什么输出是空白的。