【问题标题】:Python Selenium can't find element or click elementPython Selenium 找不到元素或单击元素
【发布时间】:2020-07-09 09:20:10
【问题描述】:

所以我正在尝试制作我的第一个 Instagram 机器人,并且我已经获得了打开 Instagram 的驱动程序。但我无法让我的脚本输入任何内容或单击用户名或密码框。

所以现在我的问题是:为什么我的脚本没有输入任何内容或(使用 .click() 时)单击密码/用户名框。

class instaBot():
    def __init__(self, username, password):

         self.driver = webdriver.Chrome("/Users/blaze/PycharmProjects/InstagramBot/Drivers/chromedriver")
         self.driver.get("https://www.instagram.com")
         time.sleep(5)
         loginbox = self.driver.find_elements_by_xpath("//input[@name = 'username']")
         loginbox.send_keys(username)
         time.sleep(1)
         loginbox2 = self.driver.find_elements_by_xpath("//input[@name = 'password']")
         loginbox2.send_keys(password)

instaBot('Code', 'Passerwoee')

元素:

<input aria-label="Phone number, username, or email" aria-required="true" autocapitalize="off" autocorrect="off" maxlength="75" name="username" type="text" class="_2hvTZ pexuQ zyHYP" value=""/>

【问题讨论】:

标签: python python-3.x macos selenium xpath


【解决方案1】:

您在查找元素时使用find_elementsfind_elements返回元素列表,您需要使用find_element获取元素,然后您需要对其进行操作。
你可以这样做:

 loginbox = self.driver.find_element_by_xpath("//input[@name = 'username']")
 loginbox.send_keys(username)
 time.sleep(1)
 loginbox2 = self.driver.find_element_by_xpath("//input[@name = 'password']")
 loginbox2.send_keys(password)

【讨论】:

  • 以为我有单数的“元素”......现在我工作得很好!谢谢,非常感谢!
猜你喜欢
  • 2021-12-17
  • 2018-11-07
  • 2019-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多