python - 如何使用 python selenium 在动态页面上单击第一个结果?
问题描述
我正在尝试单击此页面上的第一个结果,但我尝试的所有选项均无效。
首先,我只需使用电子邮件登录网站:kocianlukyluk@gmail.com 和密码:Redfinpython06。这是它的代码:
driver = webdriver.Chrome("C:\\Users\\kocia\\OneDrive\\Plocha\\Python\\nastaveni\\chromedriver.exe")
driver.get('https://www.redfin.com/myredfin/favorites')
email = 'kocianlukyluk@gmail.com'
password = 'Redfinpython06'
time.sleep(3)
driver.find_element_by_xpath(
'//*[@id="content"]/div[6]/div/div[2]/div/div/form/span[1]/span/div/input').send_keys(email)
time.sleep(3)
driver.find_element_by_xpath(
'//*[@id="content"]/div[6]/div/div[2]/div/div/form/span[2]/span/div/input').send_keys(password)
time.sleep(3)
sing_up = driver.find_element_by_css_selector('button[type=submit]')
sing_up.click()
但问题是登录后我无法点击页面上的第一个结果。
这是我尝试过的:
result = driver.find_elements_by_xpath("//*[@id="content"]/div[10]/div/div[5]/div/div[2]/div/div")[0]
result.find_element_by_xpath("//*[@id="content"]/div[10]/div/div[5]/div/div[2]/div/div/div[1]").click()
或者
result = driver.find_elements_by_xpath("//*[@id="content"]/div[10]/div/div[5]/div/div[2]/div/div")[0]
result.click()
或者
result = driver.find_element_by_xpath("//*[@id="content"]/div[10]/div/div[5]/div/div[2]/div/div/div[1]")
result.click()
非常感谢您的帮助。
解决方案
我希望这是您仅用于测试目的的虚拟电子邮件和密码:)
下面点击列表中的第一张房子图片。我还清理了您email
和password
xpath 的名称。你可以看到抓住它们是多么容易name
此外,您可能希望在这些查找元素周围放置适当的等待方法。sleep
一般不推荐使用
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from time import sleep
driver = webdriver.Chrome()
driver.get('https://www.redfin.com/myredfin/favorites')
email = 'kocianlukyluk@gmail.com'
password = 'Redfinpython06'
sleep(3)
driver.find_element_by_name(
'emailInput').send_keys(email)
sleep(3)
driver.find_element_by_name(
'passwordInput').send_keys(password)
sleep(3)
sing_up = driver.find_element_by_css_selector('button[type=submit]')
sing_up.click()
sleep(3)
first_house = driver.find_element_by_xpath("//div[@class='FavoritesHome'][1]//img")
first_house.click()
推荐阅读
- php - 获取请求后的服务器端重定向
- dns - 将域连接到另一个网站上的页面
- javascript - postman javascript验证键值对
- android - 尝试将 .AAB 上传到 Google Play 控制台时出错 (res/values-fb)
- c++ - C++ 指针比较
- javascript - 在 .then 中使用 .map 时,标记组件不呈现标记
- racket - 一堆数字列表
- java - 问:错误:线程“main”中的异常 java.util.InputMismatchException
- javascript - react.js 中的 Facebook 事件插件在单击另一个页面链接后消失
- javascript - 在作业中多次重复一个字符串