我正在此网站上尝试使用硒(https://www.kijiji.ca/t-login.html)
这是我使用的代码
driver=webdriver.Chrome(PATH)
driver.get("https://www.kijiji.ca/t-login.html")
driver.find_element_by_id("emailOrNickname")
但我不断得到
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="emailOrNickname"]"}
答案 0 :(得分:1)
尝试
from bs4 import BeautifulSoup
soup = BeautifulSoup(driver.page_source, 'html.parser')
soup.find_all('input', {'id': 'emailOrNickname'})`
答案 1 :(得分:1)
我认为该网站检测到硒。因为我可以使用普通的浏览器访问该站点,但是硒在登录或注册页面上什么都没有显示。您需要尽可能绕开它。
答案 2 :(得分:1)
您的代码没有错。如果您查看网站上的响应标题,则会看到
server: rhino-core-shield
这表明服务器可能受到Web应用程序防火墙的保护。
如果您使用以下方法检查从网站实际获得的回报
driver.page_source
您将看到实际上并没有获得您期望的登录页面,相反,您将获得一堆可怕的Javascript,该Javascript可能会重定向到真实的登录页面。结果是该特定网站的登录页面将很难以编程方式访问。
答案 3 :(得分:0)
请使用以下xpath单击并将密钥发送到电子邮件字段
driver=webdriver.Chrome(PATH)
driver.get("https://www.kijiji.ca/t-login.html")
driver.find_element_by_xpath("//input[@id="emailOrNickname"]");