Python 无法使用selenium单击迭代元素

Python 无法使用selenium单击迭代元素,python,selenium,web-scraping,Python,Selenium,Web Scraping,我试图通过谷歌翻译元素点击迭代,但代码不起作用 from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_con

我试图通过谷歌翻译元素点击迭代,但代码不起作用

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("https://www.tripadvisor.com.br/ShowUserReviews-g1-d8729164-r425802060-TAP_Portugal-World.html")
for i in driver.find_elements_by_class_name("entry"):
wait = WebDriverWait(driver, 10)

google_translate = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".googleTranslation .link")))

actions = ActionChains(driver)
actions.move_to_element(google_translate).click().perform()
driver.find_element_by_class_name("ui_close_x").click()
driver.execute_script("window.scrollTo(0, 600);")
=======问题====== 它只通过第一个元素来确定


基本上,代码应该在弹出窗口中显示每个评论的翻译,关闭该弹出窗口,然后移动到下一个评论,翻译等

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.tripadvisor.com.br/ShowUserReviews-g1-d8729164-r425802060-TAP_Portugal-World.html")
gt= driver.find_elements(By.CSS_SELECTOR,".googleTranslation>.link")
for i in gt:
    i.click()
    time.sleep(2)
    driver.find_element_by_class_name("ui_close_x").click()
    time.sleep(2)
上面的代码将解决你点击谷歌翻译评论的目的。
PS:在For循环中,我放置了time.sleep()以便您可以看到代码操作,如果您愿意,您可以远程执行它

有时代码会失败。对于链接-->,我选择了葡萄牙语注释,然后运行您的代码[gt=driver.find_elements……],但经过一次翻译后,我收到了以下错误:------------>WebDriverException:Message:元素在点(312.5,10.100006103515625)处不可单击。其他元素将收到单击:
  • 基本上,问题是在加载页面时试图更改语言。在driver.get之后添加这些行将解决您的问题wait=WebDriverWait(driver,10)langselection=wait.until(EC.element可点击((By.CSS_SELECTOR,“span.sprite-date_picker-triangle”))langselection.click()驱动程序。通过xpath(//div[@class='languageList']//li[规范化空间(..='葡萄牙语优先])查找元素。click()将其作为单独问题发布在,请将您的解决方案发布在那里,我会将您的解决方案标记为已解决。谢谢