带有python

时间:2015-07-05 06:33:30

标签: python html selenium xpath

我正在尝试使用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的新手

2 个答案:

答案 0 :(得分:1)

有两种可能性在独特的选择器中脱颖而出。

  1. 类型 - type="text"type="password"
  2. tabindex - tabindex="1"tabindex="2"
  3. 我认为在这种情况下,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']")