如何解决html中Element的ID更改?

时间:2019-09-20 10:53:34

标签: python selenium odoo

元素的部署ID更改后。这样就无法使用python在硒中按id选择那些元素。

假设我想在HTML中找到以下元素。

<input class="o_form_input c_field-65 o_form_field o_form_required" id="o_field_input_22" type="text">

我不能使用元素的类,因为将存在具有相同类的元素。 我想在不使用Xpath的情况下查找元素,因为如果在开发端添加了新字段,那么Xpath将被更改。

1 个答案:

答案 0 :(得分:-1)

在这种情况下,您不应该按id定位元素(因为它不稳定)。

例如,您可以使用Xpath(其他定位器也可以使用):

login_form = driver.find_element_by_xpath("//form[@id='loginForm']")

username = driver.find_element_by_xpath("//form[@id='loginForm']/input[1]")

现在,您唯一不能从中复制的是它自己的xpath。这是特定于您的website / html / DOM。

获得正确xpath的一种简单方法是使用f12检查元素,然后右键单击该元素,进行复制并选择[copy xpath]。您可以将其粘贴到您的代码中。

让我知道这很有帮助!