如何在selenium中获取最新的<b>标签响应?

时间:2017-12-26 12:30:30

标签: python selenium xpath web-scraping beautifulsoup

所以这是我的机器人:https://www.pandorabots.com/pandora/talk?botid=b3a17e933e345861

我正在尝试获取当前的人类vs thanos响应,所以我尝试了:

from selenium import webdriver
import time
driver=webdriver.Chrome()
browser=driver.get('https://www.pandorabots.com/pandora/talk?botid=b3a17e933e345861')
ask=driver.find_element_by_xpath('/html/body/form/table/tbody/tr[1]/td[1]/input')
inpu_1='ask thanos '
ask.send_keys(inpu_1)
time.sleep(2)

但现在我陷入困境,无法找到获取当前人类和thanos响应的方法,因为有很多标记,如果我尝试使用xpath,它看起来像这样:

/ html / body / b [2]

所以,如果我这样做:

print(" thanos: {} ".format(driver.find_element_by_css_selector("b:contains('thanos:')")))

然后它没有给出任何东西并且返回空白

如何获取thanos的最新回复?

2 个答案:

答案 0 :(得分:1)

如果您发现 gem 'rails', '4.2.4' gem 'rack-contrib' gem 'sdoc', '~> 0.4.0', group: :doc gem 'therubyracer' gem 'rb-readline' gem 'jquery-rails' gem 'jquery-ui-rails' gem 'bootstrap-sass' gem 'font-awesome-rails' gem 'react-rails' gem 'coffee-rails', '~> 4.1.0' gem 'uglifier', '>= 1.3.0' gem 'sass-rails' gem 'momentjs-rails' gem 'bootstrap3-datetimepicker-rails' gem 'jquery-payment-rails', git: 'https://github.com/thoughtbot/jquery-payment-rails.git' gem 'page_title_helper' gem 'sprockets-es6', require: 'sprockets/es6' gem 'jbuilder', '~> 2.0' gem 'sorcery' gem 'oauth2', '~> 1.3.0' gem 'bcrypt' gem 'dotenv-rails' gem 'config', '~> 1.0.0' gem 'enum_help' gem 'mysql2', '~> 0.3.18' gem 'squeel' gem 'seed-fu' gem 'carrierwave' gem 'carrierwave-data-uri' gem 'carrierwave-aws' gem 'rmagick' gem 'acts_as_list' gem 'kaminari' gem 'ransack' gem 'rails-jquery-autocomplete' gem 'gretel' gem 'email_validator' gem 'icalendar' gem 'bootstrap_form' gem 'paranoia', '~> 2.0' gem 'unicorn' gem 'unicorn-rails' gem 'unicorn-worker-killer' gem 'google-analytics-rails' gem 'meta-tags' gem 'web-console', '~> 2.0', group: :development gem 'adminlte2-rails' gem 'geocoder' gem 'validates_timeliness', '~> 4.0' gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby' gem 'whenever', require: false gem 'holiday_jp' gem 'exception_notification', github: 'smartinez87/exception_notification' gem 'slack-notifier' gem 'grape' gem 'grape-jbuilder'

group :staging do gem 'letter_opener_web' end group :development, :test do gem 'letter_opener' gem 'spring' gem 'spring-commands-rspec' gem 'rspec-rails' gem 'factory_girl_rails' gem 'simplecov', require: false gem 'rubocop' gem 'byebug' gem 'better_errors' gem 'pry' gem 'pry-byebug' gem 'pry-doc' gem 'pry-rails' gem 'pry-stack_explorer' gem 'quiet_assets' gem 'awesome_print' gem 'annotate' gem 'migration_comments' gem 'capistrano', '~> 3.4.0' gem 'capistrano-rails' gem 'capistrano-rbenv' gem 'capistrano-bundler' gem 'capistrano3-unicorn' gem 'rails-admin-scaffold' end

group :test do gem 'capybara' gem 'database_cleaner' gem 'faker' gem 'fuubar' gem 'launchy' gem 'selenium-webdriver' gem 'shoulda-matchers' gem 'timecop' end

,则apply始终位于with cte as ( select a.*, rank() over (order by a.Sizes)[rn] from PRODUCTS p cross apply( values (p.ITEM, p.t1), (p.ITEM, p.t2), (p.ITEM, p.t3), (p.ITEM, p.t5), (p.ITEM, p.t6), (p.ITEM, p.t7), (p.ITEM, p.t8) ) as a(Item, Sizes) ) select Item, Sizes from cte order by case when rn = 1 then Item else '0' end, case when rn = 1 then '0' else null end, Item 上,最后public struct CreateNewAccount<T, K>: UseCase { public typealias ResponseType = T public typealias Parameters = K } 跟随private let createNewAccount: CreateNewAccount<YouClass1,YouClass2>。因此,根据您对[dir="rtl"] .navbar-toggle { float: left; margin: 15px 10px 0 0; } 的问题,您可以使用以下代码块:

:dir(rtl) {}

答案 1 :(得分:0)

您应该只检索正文内容并处理文本内容:

col-xl-12

此代码打印:

from selenium import webdriver
import time
driver=webdriver.Chrome()
browser=driver.get('https://www.pandorabots.com/pandora/talk?botid=b3a17e933e345861')
ask=driver.find_element_by_xpath('/html/body/form/table/tbody/tr[1]/td[1]/input')
inpu_1='ask thanos '
ask.send_keys(inpu_1)
ask.submit()
content = driver.find_element_by_css_selector('body').text.split("\n")
print(content)
time.sleep(2)

所以最新的回应应该是该列表的第5个元素。