我正在尝试使用selenium和python登录网站。这就是用户名和密码的html。名称和id每次都是随机字符串,那么我如何使用selenium在表单中输入?我在chrome上使用inspect元素找到的xpath和css选择器都包含id,由于id是随机的,因此不能正常工作。
<input name="u41f98d000f26d904164eaf12622351bd" id="u41f98d000f26d904164eaf12622351bd" type="text" value="" autocomplete="off" tabindex="1">
<input name="pa0ef2cd4e22824cebe65dfed7f683c54" id="pa0ef2cd4e22824cebe65dfed7f683c54" type="password" value="" autocomplete="off" tabindex="2">
很抱歉,如果这是一个愚蠢的问题,我是python和selenium的新手
答案 0 :(得分:1)
有两种可能性在独特的选择器中脱颖而出。
type="text"
和type="password"
tabindex="1"
和tabindex="2"
我认为在这种情况下,tabindex
可能更好。
user_inp = "username"
pass_inp = "password"
username = driver.find_element_by_css_selector("input[tabindex='1']")
password = driver.find_element_by_css_selector("input[tabindex='2']")
username.send_keys(user_inp)
password.send_keys(pass_inp)
答案 1 :(得分:0)
如果要构建XPath,可以使用Richard中提到的一个或两个:
username = driver.find_element_by_xpath("//input[@tabindex='1' and @type='text']")
password = driver.find_element_by_xpath("//input[@tabindex='2' and @type='password']")