我正在尝试通过硒登录到我的Yahoo帐户。我现在只是在学习,并且已经为不同的网站制作了程序,以使总体上更熟悉Selenium。
我现在正尝试登录Yahoo,但无法弄清楚。
我尝试做:
yahoologin1 = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "#login-username"))).sendKeys("tester@yahoo.com")
yahoologin1 = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, "login-username"))).sendKeys("tester@yahoo.com")
yahoologin1 = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "//input[@id='login-username']"))).sendKeys("tester@yahoo.com")
yahoologin1 = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "/html[1]/body[1]/div[2]/div[1]/div[1]/form[1]/div[2]/input[1]"))).sendKeys("tester@yahoo.com")
我特别想念什么吗?如果有人告诉我如何使该登录信息正常工作,将不胜感激。而不是简单地粘贴代码:)谢谢!
我已经做了一些进一步的测试,并且在主选项卡上可以使用。但是,我正在使用yahoo登录页面打开一个新标签页,该标签页无效。要在新标签页上键入内容,我需要做些其他的事情吗?
答案 0 :(得分:1)
我使用了另一种没有WebDriverWait
的方法来解决,希望对您有所帮助。
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--window-size=1920x1080")
browser = webdriver.Chrome('./chromedriver', chrome_options=chrome_options)
# Opening yahoo page in a new tab
browser.execute_script("window.open('https://login.yahoo.com/');")
# Switch to new tab
browser.switch_to.window(browser.window_handles[-1])
# Selecting login-username and putting email
browser.find_element_by_id('login-username').send_keys('tester@yahoo.com')
结果:
答案 1 :(得分:0)
这是示例脚本。
url = "https://login.yahoo.com/"
# Step 1 -navigate to the AUT
driver.get(url)
print ("Step 1 - Done")
# Step 2 - Enter the username
#wait for the user name to be displayed
userName = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'input#login-username')))
userName.send_keys("used css")
# Step 3 - click on Next
driver.find_element_by_xpath("//input[@id='login-signin']").click()
# Step 4 - Enter password
passWord = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,"input[name='password']")))
passWord.send_keys("password")
# Step 5 - Click on Sign in
driver.find_element_by_id("login-signin").click()
在这里,您可以快速有效地进行脚本开发。
show python prompt
以打开交互式控制台