如何通过SeleniumWebDriver和Python在没有唯一标识符的文本框中单击

如何通过SeleniumWebDriver和Python在没有唯一标识符的文本框中单击,python,selenium,selenium-webdriver,webdriver,webdriverwait,Python,Selenium,Selenium Webdriver,Webdriver,Webdriverwait,= = 根据您共享的HTML,找到与{userid}字段对应的文本框,您需要引导WebDriverWait使元素可单击,您可以使用以下解决方案: XPATH: WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='panel']/div[contains(@data-bind, 'UriParameters')]/div//following::input[2]"))).cl


= 
= 
根据您共享的HTML,找到与
{userid}
字段对应的文本框,您需要引导WebDriverWait使元素可单击,您可以使用以下解决方案:

  • XPATH

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='panel']/div[contains(@data-bind, 'UriParameters')]/div//following::input[2]"))).click()
    #or
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='panel']/div[contains(@data-bind, 'UriParameters')]/div//following::input[2]"))).send_keys("Ice")
    

以文本格式复制相同的HTML代码,并用该代码更新问题。对此表示抱歉。。我已经编辑了我的帖子。我不太确定我是否理解。我很抱歉,因为我对这一点很陌生。{userid}不可单击。我想知道如何找到/调用用于输入数据的userid和deviceid文本框。希望这能让你sense@Ice如果您能确认我的状态,无论解决方案是否有效,我可以向您详细解释。你能找到
userid
字段并执行你的任务吗?@Ice你能用你当前的代码试用更新问题以找到文本框和异常以供进一步分析吗?我找到了!我对你的代码做了一个简单的修改,从
userID=WebDriverWait(driver,20).到(EC.element\u to\u be\u clickable((By.XPATH,//div[@class='panel']]/div[contains(@data bind,'UriParameters')]/div//contains(@data bind,'UriParameters')]]/following::input[2]”)到
driver/div//following::input[2]”。单击()
非常感谢!完成!再次感谢!