Python 按输入类型查找元素

Python 按输入类型查找元素,python,selenium,Python,Selenium,我正在尝试Python和Selenium。我的目标是让自己陷入不和。但问题是。我无法选择电子邮件和密码框。但最糟糕的是在服务器上选择一个文本框。。。我尝试了所有的方法,甚至通过XPath进行定位,但似乎做得不对。另外,在ATOM上执行此操作可能不是最好的主意,因为我没有收到任何错误消息:P。下面是一个选择电子邮件文本框的片段 硒 导入Web驱动程序 来自selenium.webdriver.common.keys 导入密钥 browser=webdriver.Firefox 浏览器,获取'ht

我正在尝试Python和Selenium。我的目标是让自己陷入不和。但问题是。我无法选择电子邮件和密码框。但最糟糕的是在服务器上选择一个文本框。。。我尝试了所有的方法,甚至通过XPath进行定位,但似乎做得不对。另外,在ATOM上执行此操作可能不是最好的主意,因为我没有收到任何错误消息:P。下面是一个选择电子邮件文本框的片段

硒 导入Web驱动程序 来自selenium.webdriver.common.keys 导入密钥 browser=webdriver.Firefox 浏览器,获取'https://discordapp.com/login' 在browser.title中断言“discordapp” elem=browser.find_element_by_name'textarea'这是我需要帮助的部分
元素。发送_keys'test'+键。为电子邮件输入,此css选择器应工作:

input[type='email']
密码:

input[type='password']
我已经测试了这段代码:

browser.get("https://discordapp.com/login")


elem = browser.find_element_by_css_selector("input[type='email']")# this is the part where i need help
elem.send_keys("itsolidude@imail.com")

elem1 = browser.find_element_by_css_selector("input[type='password']")# this is the part where i need help
elem1.send_keys("password")    

login_button = browser.find_element_by_xpath("//div[text()='Login']/parent::button")
login_button.click() 

这在我的机器上运行得很好。

您需要检查div容器并将其添加到xpath中

尝试下面的代码,并请调试缩进,以防stackoverflow没有正确地传输它们,我不知道如何做得好和正确

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

class loginPage():

    def test(self):
    baseUrl = 'https://discordapp.com/login'
    driver = webdriver.Firefox(executable_path="G:\\webdriver/geckodriver.exe")
    driver.maximize_window()
    driver.implicitly_wait(5)
    driver.get(baseUrl)

    mail = driver.find_element(By.XPATH, "//div[3]/div[1]/div/input[contains(@type,'email')]")
    time.sleep(5)
    mail.send_keys("test@gmail.com")
    time.sleep(3)
    print("Enter mail adress")

    password = driver.find_element(By.XPATH, "//div[3]/div[2]/div/input[contains(@type,'password')]")
    time.sleep(5)
    password.send_keys("123456789")
    time.sleep(3)
    print("Enter password")
    time.sleep(10)
    driver.quit()

ff = loginPage()
ff.test()
使用Python和Selenium登录Discord网站:
或者,他基本上可以尝试使用Xpath/CssSelector查找元素:但是很好的答案是,我不知道搜索像@cruisepandey这样的元素是可能的,这只是为我加载登录页面,但仍然没有输入文本:/you’有任何错误/异常吗?如果是,请在此更新。仅供参考,我还没有编写代码来点击登录按钮,不确定这是否有帮助。也使用登录按钮更新了代码。@cruisepandey我更新了代码以按enter键。。。但是仍然没有什么,你应该在你的文章中包含相关的HTML作为文本,这样盲人和需要屏幕阅读器的用户也可以看到它。它也有助于搜索引擎为未来的观众收集信息。尽可能避免拍照!
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome()

driver.get("https://discord.com/login")
time.sleep(6)

username_input = driver.find_element_by_name('email')
username_input.send_keys("enter-your-username-here")


password_input = driver.find_element_by_name('password')
password_input.send_keys("Enter-your-password-here")


login_button = driver.find_element_by_xpath('//*[@id="app-mount"]/div[2]/div/div[2]/div/div/form/div/div/div[1]/div[3]/button[2]')
login_button.click()