首页 > 解决方案 > Python,selenium chrome 驱动程序填充表单(元素 id 的变化)

问题描述

公司内部网页的一部分如下所示:

在此处输入图像描述

这是网页的第一种形式。我想在这个表格中输入数字。

问题是,刷新网页时元素 id 会发生变化。所以我厌倦了 driver.find_element_by_xpath 和 driver.find_element_by_css_selector,它不是每次都捕捉到表格。

所以我想也许找到文本行“客户编号”,然后移动到它的下一个元素,可能是一个选择。但同样,“学生号”的元素id。也在发生变化。

有没有办法通过文本“学生号”来捕捉表格?还是有更好的选择?谢谢你。

部分 HTML 代码如下:

<div class="labeledField">
        <div class="fieldLabel beanRequiredField">Student No.</div>
        <div class="field"><span id="id16">
    <div>
    <input type="text" class="inputField" value="" name="tabs:r:0:c:0:c:field:c:p:r:0:c:0:c:field:c:frag:component" id="id4e" customid="StudentId" autocomplete="off">
</div>
</span></div>
    </div>

标签: pythonselenium-chromedriver

解决方案


也许这会解决你的问题:

WebDriverWait 等待 = 新的 WebDriverWait(驱动程序, 15); wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@id='text3']")));


推荐阅读