Используя selenium-webdriver и capybara в rspec, в спецификации возможностей я пытаюсь получить HTTP-ответ на простой текстовый запрос, а именно /robots.txt
Но вместо получения простого текстового ответаЯ получаю текстовый ответ, завернутый в HTML:
<code> expected: "User-agent: *\nDisallow:\n\nSitemap: https://prj.org/sitemap.xml\n"
got: "<html><head><link rel=\"alternate stylesheet\" type=\"text/css\" href=\"resource://content-accessible/plaintext.css\" title=\"Wrap Long Lines\"></head><body><pre>User-agent: *\nDisallow:\n\nSitemap: https://prj.org/sitemap.xml\n
"
При извлечении /robots.txt с помощью curl я получаю ожидаемый простой текстовый ответ. Поэтому яПрошел через параметры Firefox, и я обнаружил, что мне нужно отключить параметр plain_text.wrap_long_lines .
И я не могу передать параметр в geckodriver.
Iсначала попытался передать его объекту Options
, например:
Capybara.register_driver :firefox_headless do |app|
options = ::Selenium::WebDriver::Firefox::Options.new
options.headless!
options.add_preference 'plain_text.wrap_long_lines', false
Capybara::Selenium::Driver.new app, browser: :firefox, options: options
end
Затем я попытался передать его объекту Profile
.
Capybara.register_driver :firefox_headless do |app|
options = ::Selenium::WebDriver::Firefox::Options.new
options.headless!
profile = Selenium::WebDriver::Firefox::Profile.new
profile['plain_text.wrap_long_lines'] = false
Capybara::Selenium::Driver.new app, browser: :firefox, options: options, profile: profile
end
В обоих случаяхрезультат тот же. Любая идея, почему? Спасибо!
Использование:
- selenium-webdriver 3.14.1
- capybara 3.7.2
- geckodriver 0.22.0