python3/selenium/automation-查找包含给定字符串的ID
所以基本上我在做网页抓取/网站自动化 下面是一个简单的例子,说明我正在尝试做什么: 我正在处理一个包含表单的动态页面,我想在此表单中插入数据 当然,这个动态页面的变化取决于我在此页面上插入的内容。这里有一个输入字段ID的例子,我正在尝试将数据插入其中的5个不同页面。因此,它是自动生成的,并且是唯一的:python3/selenium/automation-查找包含给定字符串的ID,python,selenium,automation,beautifulsoup,Python,Selenium,Automation,Beautifulsoup,所以基本上我在做网页抓取/网站自动化 下面是一个简单的例子,说明我正在尝试做什么: 我正在处理一个包含表单的动态页面,我想在此表单中插入数据 当然,这个动态页面的变化取决于我在此页面上插入的内容。这里有一个输入字段ID的例子,我正在尝试将数据插入其中的5个不同页面。因此,它是自动生成的,并且是唯一的: 列表.项目[国际象棋大小] 清单.项目[鞋尺寸] 物品[尺码裤子] 列表.项目[大小] 清单.项目[鞋尺寸] 这里的字符串“Size”也是相同的模式 我需要在此字段中插入数据,否则,我无法在表单上
driver.find_element_by_id('Listing.Item[' + any(str) + 'Size' + any(str) + ']')
但它不起作用。可能我错误地使用了函数“any()”
如何在我遇到的每个页面中自动找到这个唯一的输入,而这些页面的ID中总是包含字符串“Size”?
XPath&CSS选择器还包含另一个单词(例如:Chess、Shoe和sloaser),因此我不能使用它们
谢谢你的帮助
编辑:
下面是所有相应的HTML:
<input type="text" id="Listing.Item[Shoe Size]"
name="_st_Shoe Size" size="21" maxlength="50"
aria-required="true" value="">
=>name和id的值每次都会更改您可能想要尝试的是通过css\u选择器查找元素。此函数接受(顾名思义)css选择器以返回元素 CSS选择器允许您搜索包含特定值的ID 例如,如果要搜索id中包含单词“Size”的所有输入标记,则应使用:
css_selector = 'input[id*=Size]'
driver.find_elements_by_css_selector(css_selector)
*=
表示“包含”
以下是一些您可能会觉得有用的资源: