RSelenium, нажмите кнопку на основе строки текста - PullRequest
0 голосов
/ 14 апреля 2020

Я собираю некоторые данные с веб-сайта, и мне нужно нажать кнопку, чтобы напечатать (и сохранить) каждый объект. Для этого я использую RSelenium. Я хочу перейти и щелкнуть:

<a href="javascript:void(0)" data-bind="clickAndTouch: onClick, blockTouches: true"><span data-bind="attr: { 'class': css() || name() }" aria-hidden="true" class="pri pri-print"></span><em data-bind="text: title()">Print</em></a>

Я пробовал несколько способов перейти к этому, я использовал XPath, но XPath меняется для разных поисков. Поскольку я хочу автоматизировать это и собрать больше данных, это не сработает. Я считаю, что навигация и нажатие по тексту «Печать» было бы наиболее достаточным способом. Однако я не нашел подходящего способа сделать это. Я попытался:

remote_driver$findElement(using = 'xpath', ("//*[text() = 'Print']"))$clickElement()

, но это приводит к этой ошибке:

Selenium message: element not interactable
  (Session info: chrome=81.0.4044.92)
  (Driver info: chromedriver=81.0.4044.69 (6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}),platform=Windows NT 10.0.18363 x86_64)

Error:   Summary: ElementNotVisible
     Detail: An element command could not be completed because the element is not visible on the page.
     Further Details: run errorDetails method

Я также пытался go по классу без какого-либо успеха. Я относительно новичок в использовании Selenium, так что, надеюсь, кто-нибудь может дать мне решение и указать лучший способ подумать об этих проблемах при их решении.

Заранее спасибо!

...