按输入类型查找元素

时间:2019-05-15 17:03:08

标签: python selenium

我正在尝试使用Python和Selenium。我的目标是使自己登录Discord(https://discordapp.com/login。但这是问题所在。我无法选择电子邮件和密码框。但是最糟糕的部分是尝试在服务器上选择文本框。我尝试了所有操作,甚至通过XPath进行了定位,但似乎都做不到,而且,在ATOM上执行此操作也不是最好的主意,因为我没有收到任何错误消息:P。选择电子邮件文本框。

from selenium
import webdriver
from selenium.webdriver.common.keys
import Keys

browser = webdriver.Firefox()

browser.get('https://discordapp.com/login')
assert 'discordapp' in browser.title

elem = browser.find_element_by_name('textarea')# this is the part where i need help
elem.send_keys('test' + Keys.ENTER)

The Sourcecode

3 个答案:

答案 0 :(得分:4)

对于电子邮件,此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() 

这在我的机器上工作正常。

答案 1 :(得分:0)

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

尝试以下代码,并调试缩进,以防stackoverflow无法正确传输它们(嗯,我不知道如何正确正确地进行此操作。)

  length = 100;
  pageSize = 5;
  pageSizeOptions: number[] = [10, 20, 30];

答案 2 :(得分:0)

使用 Python 和 Selenium 登录 Discord 网站:

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()