无法在硒上找到部分ID

toshiro92

嗨,大家好 !

我正在尝试查找具有动态ID的元素,但是!无论我做什么,除了系统地引发NoSuchElementException之外...

有我的代码:

try:
    driver.get('http://www.website.com/')
    usr = driver.find_element_by_css_selector("a[id*='txtEmail']")
    pwd = driver.find_element_by_css_selector("a[id*='txtPassword']")

    usr.send_keys(username)
    pwd.send_keys(password)
    driver.find_element_by_css_Selector("a[id*='btnLogin']").click()

    if (driver.find_element_by_css_Selector("a[id$=lnkLogOut]")):
            log.info("Successfully connected")
    else:
            log.error("Login failed - Cannot login to the website - Wrong username/password ?")

    except NoSuchElementException:
            log.error("Cannot find element needed on the login page")

    except TimeoutException:
            log.error("Cannot reach the website in time")
    except:
            log.error("Error occurred during the login attempt: {}".format(sys.exc_info()))

有html形式:

<td>Email/Username:</td>
<td><input name="ctl00$cph1$Login1$txtEmail" id="ctl00_cph1_Login1_txtEmail" style="width:160px;" type="text"></td>

<td>Password:</td>
<td><input name="ctl00$cph1$Login1$txtPassword" id="ctl00_cph1_Login1_txtPassword" style="width:160px;" type="password"></td>
<td><input name="ctl00$cph1$Login1$btnLogin" value="Login" id="ctl00_cph1_Login1_btnLogin" class="fancy" with="80px;" style="height:28px;" type="submit"></td>  

而且有我的输出错误:

DEBUG:selenium.webdriver.remote.remote_connection:POST 

http://127.0.0.1:40943/hub/session {"desiredCapabilities": {"platform": "ANY", "browserName": "firefox", "version": "", "marionette": false, "javascriptEnabled": true}}
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:40943/hub/session/2b64c16e-1582-42ee-8041-66550781c00f/url {"url": "http://www.website.com", "sessionId": "2b64c16e-1582-42ee-8041-66550781c00f"}
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
DEBUG:selenium.webdriver.remote.remote_connection:POST http://127.0.0.1:40943/hub/session/2b64c16e-1582-42ee-8041-66550781c00f/element {"using": "css selector", "sessionId": "2b64c16e-1582-42ee-8041-66550781c00f", "value": "a[id*='txtEmail']"}
DEBUG:selenium.webdriver.remote.remote_connection:Finished Request
ERROR:__main__:Cannot find element needed on the login page

问题出在哪里?任何的想法 ?

编辑:以下行会引发错误:

usr = driver.find_element_by_css_selector("a[id*='txtEmail']")
pwd = driver.find_element_by_css_selector("a[id*='txtPassword']")
ec

要遵循@murali关于avs的观点input,您只需修复CSS选择器即可:

usr = driver.find_element_by_css_selector("input[id*=txtEmail]")
pwd = driver.find_element_by_css_selector("input[id*=txtPassword]")

您也可以使用“ ends-with”检查而不是“ contains”:

usr = driver.find_element_by_css_selector("input[id$=txtEmail]")
pwd = driver.find_element_by_css_selector("input[id$=txtPassword]")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python硒无法找到存在的表ID

来自分类Dev

硒无法通过ID或xpath找到元素

来自分类Dev

使用硒无法通过 id 找到元素

来自分类Dev

硒无法找到元素

来自分类Dev

无法找到元素:硒

来自分类Dev

硒无法找到元素

来自分类Dev

硒“无法找到元素”

来自分类Dev

无法在硒中找到元素

来自分类Dev

无法在硒中找到元素

来自分类Dev

无法通过使用Java和硒部分链接文本找到元素

来自分类Dev

硒找到了元素,但由于缺少元素ID而无法与它进行交互

来自分类Dev

带有pyvirtualdisplay的硒无法找到元素

来自分类Dev

硒-无法通过类名找到元素

来自分类Dev

硒有时无法找到元素

来自分类Dev

硒无法在iframe中找到字典元素

来自分类Dev

硒和XPATH无法找到按钮

来自分类Dev

硒无法通过类名称找到元素

来自分类Dev

硒-无法找到youtube搜索栏

来自分类Dev

硒“无法找到用于提交表单的元素”

来自分类Dev

硒:无法在GWT应用中找到元素

来自分类Dev

硒浏览到IE11上的其他页面时,无法在关闭的窗口中找到元素

来自分类Dev

硒无法通过ID选择元素

来自分类Dev

硒搜索ID始终无法正常工作?

来自分类Dev

无法使用硒通过 ID 获取元素

来自分类Dev

水豚:ElementNotFound:无法在多部分表单上找到字段名称

来自分类Dev

水豚:ElementNotFound:无法在多部分表单上找到字段名称

来自分类Dev

带有硒的Python:无法找到真正存在的元素

来自分类Dev

硒无法通过使用By.linkText()找到<p:calendar>天

来自分类Dev

在硒Python中无法从div元素中找到表格元素