尝试使用element.text从网页获取多个文本字段

时间:2019-06-18 23:58:31

标签: python selenium selenium-webdriver

我正在尝试从网页的标题字段获取文本。但是,该字段似乎有两个单独的文本值,而不是一个。当我使用element.text访问文本时,我只会得到文本的第一部分,而不会得到恰好是我感兴趣的第二部分。

我尝试使用.text访问文本。使用get_attribute('value')不起作用,仅返回“ None”,表示找不到匹配的参数。

元素外观示例:

<h2 class="Some-Unique-Class">
"Validate Response:"
"Success"
</h2>

我想同时看到“验证响应:”和“成功”,但在使用.text方法而不是“成功”部分时,我只会看到“验证响应”。

环境详细信息: Selenium Webdriver; Python 3.5.2

2 个答案:

答案 0 :(得分:0)

不确定是什么问题,但是以下代码对您的html字符串有效:

$.ajax({
 type: 'POST',
 url: '/predict',
 data: form_data,
 contentType: false,
 cache: false,
 processData: false,
 async: true,
 success: function (data) {
    // Get and display the result
   $('.loader').hide();
   $('#result').fadeIn(600);
   var new_data = JSON.parse(data.payload);
   $('#result').append('Prediction: ');
   for (var i in new_data){
     var _html = `
       <p>${new_data[i].name}: ${new_data[i].val}</p>
     `
      $('#result').append(_html);
   }
   console.log('Success!');
  },
});

输出:

  

“验证响应:”“成功”

答案 1 :(得分:0)

也许是元素位置或非唯一匹配的问题。

例如,如果我使用以下XPath selector

//h2[@class='Some-Unique-Class']

我都得到相同的“全文”文本: