Невозможно различить динамические элементы при скребании с помощью Selenium - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь написать бота для онлайн-опроса, но я застрял на одной конкретной странице.

Он содержит список флажков, которые различаются только параметром id, например:

//*[@id="prompt_368243"]/div[2]/div/div[1]/div/div/div[1]/label/div/div
//*[@id="prompt_368241"]/div[2]/div/div[1]/div/div/div[1]/label/div/div
//*[@id="prompt_368228"]/div[2]/div/div[1]/div/div/div[1]/label/div/div

(ссылка на скриншот: https://i.stack.imgur.com/TBpI4.jpg)

Ситуация такая же при проверке cs-селекторов. То, что я использовал с момента возникновения проблемы, было что-то вроде:

choice = '//*[starts-with(@id,\'prompt\')]/div[2]/div/div[1]/div[' + str(randint(1, 3)) + ']/span'

Есть ли способ выбрать каждую строку отдельно, зная, что значение идентификатора меняется при каждой загрузке опроса? Я заметил, что число уменьшается с каждой строкой, однако это не постоянное значение или что-либо еще. У объектов нет ярлыков, что также проблематично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...