我正在尝试通过 selenium 登录到我的雅虎帐户。我现在只是在学习,并为不同的网站制作了程序,以便整体上更熟悉 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")
有什么我特别想念的吗?如果有人告诉我如何使此登录生效,我将不胜感激。而不是简单的复制粘贴代码 :) 谢谢!
我做了一些进一步的测试,它在主选项卡上工作。但是,我正在打开一个带有雅虎登录页面的新选项卡,它不起作用。我是否必须做一些不同的事情才能在新标签上键入内容?
最佳答案
我使用了另一种没有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')
结果:
关于python - 如何通过 Selenium python 登录到 yahoo(尝试了多种解决方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56067539/