使用Selenium抓网时无法区分动态元素

时间:2019-10-03 18:55:41

标签: python selenium web-scraping

我正在尝试为在线调查编写一个机器人,但我只能停留在一个特定页面上。

它包含一个复选框列表,这些复选框只能由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'

是否有办法在每次加载调查时都知道id值正在变化的情况下分别选择每一行?我注意到该数字每行都在减少,但是它不是常数值或其他任何值。这些对象也没有任何标签,这也是有问题的。

0 个答案:

没有答案