【发布时间】:2017-08-11 14:44:32
【问题描述】:
如果这是一个问题的重复,我深表歉意,但我读过的任何东西似乎都没有解决问题。
我正在尝试自动化增加我的工作时间的过程。这需要使用 selenium 来模拟我为我输入时间所做的过程。
问题是,当我浏览该过程时,我遇到了一个实例,其中一个元素具有动态 id 和 xpath(可能还有其他东西。我对 HTML 不是很精通)。
我需要选择“查看”下拉菜单中的“日期”按钮。突出显示的 HTML 对应于该按钮。我已经检查过,每次创建新会话时 ID 和 Xpath 都会发生变化。我通常会执行以下操作来查找我的元素:
elem = driver.find_element_by_xpath('xpath')
下面是我目前看到的xpath:
//*[@id="ab5378a9418345a2a57ad12f066127a6"]
更复杂的是,“周”选择的 xpath 如下:
//*[@id="741015164c5547fbb5403c03c46636d3"]
我试图弄清楚如何在 xpath 中使用“contains”,但即便如此,两者的差异也不足以通过使用“@id”来区分。我每次看到的唯一不变的事情和不同是
data-automation-label="Day"
出现在 day 元素上并且
data-automation-label="Week"
出现在周元素上。
出现此类问题时,有没有人有寻找元素的经验?我在 Windows 7 计算机上使用 Python3.6 工作。
再次,如果这是重复的,我深表歉意,但在来这里寻求帮助之前,我非常努力地寻找答案。
提前致谢!
【问题讨论】:
-
为什么你不能使用那个 div 容器中专门的类?
标签: python-3.x selenium selenium-chromedriver