如何获取网页中动态生成名称的元素

时间:2018-07-04 02:37:43

标签: python html selenium

因此,我正在使用python和selenium制作一种Web抓取工具,我要与之交互的下拉菜单之一根据站点上的其他交互而被命名为不同的事物。它是这样命名的:

<select id ="sel-abfj184h48cj" >

始终带有sel-前缀,其余动态生成。访问此元素的最佳方法是什么?我已经尝试通过id,name和XPath方法来查找selenium,但是有点卡住了。有任何想法吗?

3 个答案:

答案 0 :(得分:1)

  

CSS选择器是用于根据以下内容标识元素的字符串模式   HTML标记,id,类和属性的组合。它是   高级硒用户最常用的定位策略,因为它   甚至可以访问没有ID或名称的那些元素。

要匹配ID的开头,您可以使用:(您的情况)

By.CssSelector("id^=sel-")

要匹配ID的结尾,您可以使用:

By.CssSelector("id$=sel-")

使用包含:

By.cssSelector("[id*=sel-]")

答案 1 :(得分:0)

您可以尝试以下xpath:-//input[starts-with(@id, 'sel-')]

答案 2 :(得分:0)

请尝试使用此XPath:

XPath: User