【发布时间】:2019-02-24 21:54:42
【问题描述】:
我必须选择具有动态“id”和“name”选择器的元素,每次重新加载页面时都会更改。我也不能使用 css 选择器,因为我的目标元素共享通用选择器。以下是我要选择的两个元素的 html:
<td colspan="60" width="60%" class="cell-right" valign="top">
<textarea onkeydown="event.cancelBubble=true;" onkeypress="event.cancelBubble=true;" onkeyup="event.cancelBubble=true;" name="1c2b0730969c468aa06b312d96f1513b" id="1c2b0730969c468aa06b312d96f1513b" class="auto-size-field" rows="5"></textarea>
</td>
和
<td colspan="60" width="60%" class="cell-right" valign="top">
<textarea onkeydown="event.cancelBubble=true;" onkeypress="event.cancelBubble=true;" onkeyup="event.cancelBubble=true;" name="6c5c8088fb474f2b93e1de9fb1b1771d" id="6c5c8088fb474f2b93e1de9fb1b1771d" class="auto-size-field" rows="5"></textarea>
</td>
每次重新加载页面时,“id”和“name”选择器都会动态变化。 xpath 在每次重新加载时也会发生变化,因为包含对“id”标签的引用(例如“//*[@id="6c5c8088fb474f2b93e1de9fb1b1771d"]')。正如你所看到的,这两个元素共享相同的 css 选择器,这使事情变得更加复杂......
此时的问题是我将如何单独选择它们以便我可以使用 send_keys() 与每个文本区域进行交互?
【问题讨论】:
-
你可以为搜索栏添加 HTML 吗?为什么不能使用任何 css 定位器?
标签: python selenium xpath selenium-webdriver