【发布时间】:2019-09-19 20:26:33
【问题描述】:
我正在尝试在 Python 中使用 Selenium 从https://www.seekingalpha.com 中提取一些数据。首页有一个“立即登录/加入”链接。我使用 Selenium 来单击它,这会弹出一个弹出窗口,要求使用另一个“登录”按钮输入登录信息。下面的代码似乎可以输入我的用户名和密码,但我尝试点击“登录”按钮没有得到正确的响应(它点击了弹出框下方的广告。)
我正在使用 Python 3.5。
这是我的代码:
driver = webdriver.Chrome()
url = "https://seekingalpha.com"
driver.get(url)
sleep(5)
driver.find_element_by_xpath('//*[@id ="sign-in"]').click()
sleep(5)
driver.find_element_by_xpath('//*[@id ="authentication_login_email"]').send_keys("xxxx@gmail.com")
driver.find_element_by_xpath('//*[@id ="authentication_login_password"]').send_keys("xxxxxxxxx")
driver.find_element_by_xpath('//*[@id="log-btn"]').click()
非常感谢任何意见/建议。
【问题讨论】:
-
在密码字段中发送回车键通常有效...
-
谢谢 pcalkins 和 Trapli。我遵循了您的建议并尝试了两种方法(driver.execute_script 或将 ENTER 键发送到 pw),但都不起作用。我确实注意到,即使我在 driver.get("seekingalpha.com") 启动的浏览器中手动单击“登录”按钮,也没有响应。但是,如果我在 Chrome 浏览器中手动打开 seekalpha.com,并手动弹出身份验证弹出窗口,然后手动单击“登录”按钮,它响应了。这是为什么?我是否需要以某种方式将模拟控件设置为弹出窗口?
标签: python selenium web-scraping modal-dialog click