gpt4 book ai didi

javascript - 使用 Selenium 抓取内容不起作用

转载 作者:行者123 更新时间:2023-11-27 22:32:35 26 4
gpt4 key购买 nike

我正在尝试登录this website使用 Selenium 。因此,我导入了网络驱动程序,并且为了将登录信息发送到该页面,我还导入了 key 。

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

这是我用来准备 Selenium 的,

chromedriver = "chromedriver.exe"
browser = webdriver.Chrome(chromedriver)
browser.get("https://m.adidas.com/us/myaccount-create-or-login")

我使用“隐式等待功能”让浏览器等待页面加载

网站中的用户名栏有这样的HTML内容,

<input type="text" value="" placeholder="* EMAIL" data-placeholder="* Email" maxlength="50" class="textinput required trimspace" name="username" id="username">

还有密码

<input type="password" placeholder="* PASSWORD" data-placeholder="* Password" maxlength="50" autocomplete="off" name="password" value="" class="textinputpw required" id="password">

我用上面的代码找到了两个元素的id,然后我编写了这段代码来发送个人信息

username1 = browser.find_element_by_id("username")
password1 = browser.find_element_by_id("password")
username1.send_keys(email.get()) # Used a gui entry box so why email.get()
password1.send_keys(password.get())

但是上面的代码没有发送信息我不知道为什么?你能帮我解决这个问题吗?

我也尝试过使用 x 路径发送 key 。打印页面源代码以检查网站是否产生 403 访问被拒绝错误,但我的情况并非如此。

我是新手,如果有什么问题请告知

编辑:-我的尝试:

username1 = browser.find_element_by_id("username")
browser.switch_to.frame(username1)
password1 = browser.find_element_by_id("password")
browser.switch_to.frame(password1)
username1.send_keys(email.get()) # Used a gui entry box so why email.get()
password1.send_keys(password.get())

最佳答案

您尝试访问的元素位于 IFRAME 内。

<iframe id="loginaccountframe" class="sso-iframe" src="https://cp.adidas.com/web/eCom/en_US/loadsignin?target=account" frameborder="0" scrolling="no"></iframe>

您需要切换到 IFRAME 才能看到它们。

http://selenium-python.readthedocs.io/navigating.html#moving-between-windows-and-frames

关于javascript - 使用 Selenium 抓取内容不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39421929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com