Python selenium中的单击迭代失败

Python selenium中的单击迭代失败,python,selenium,web-scraping,Python,Selenium,Web Scraping,我正在尝试翻译tripadvisor的用户评论。因此,scraper读取链接,然后逐个迭代每个注释并翻译它们。但是我的代码在翻译第一条注释之后就停止了 from selenium import webdriver from selenium.webdriver.common.by import By import time driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.tripadvis

我正在尝试翻译tripadvisor的用户评论。因此,scraper读取链接,然后逐个迭代每个注释并翻译它们。但是我的代码在翻译第一条注释之后就停止了

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

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.tripadvisor.in/ShowUserReviews-g1-d8729164-r425811350-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)
试试这个:

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

driver = webdriver.Chrome()
driver.maximize_window()
url="https://www.tripadvisor.com/Airline_Review-d8729164-Reviews-Cheap-Flights-TAP-Portugal#REVIEWS"
driver.get(url)

wait = WebDriverWait(driver, 10)

langselction = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "span.sprite-date_picker-triangle")))
langselction.click()
driver.find_element_by_xpath("//div[@class='languageList']//li[normalize-space(.)='Portuguese first']").click()
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)
试试这个:

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

driver = webdriver.Chrome()
driver.maximize_window()
url="https://www.tripadvisor.com/Airline_Review-d8729164-Reviews-Cheap-Flights-TAP-Portugal#REVIEWS"
driver.get(url)

wait = WebDriverWait(driver, 10)

langselction = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "span.sprite-date_picker-triangle")))
langselction.click()
driver.find_element_by_xpath("//div[@class='languageList']//li[normalize-space(.)='Portuguese first']").click()
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)

我尝试了你的相同代码,只是增加了睡眠时间,列表被遍历,注释也被翻译

注意:我在Firefox上试过这个程序

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

driver = webdriver.Firefox()
driver.maximize_window()
driver.get("https://www.tripadvisor.in/ShowUserReviews-g1-d8729164-r425811350-TAP_Portugal-World.html")
gt= driver.find_elements(By.CSS_SELECTOR,".googleTranslation>.link")
print(type(gt))
for i in gt:
    i.click()
    time.sleep(15)
    driver.find_element_by_class_name("ui_close_x").click()
    time.sleep(15)

我尝试了你的相同代码,只是增加了睡眠时间,列表被遍历,注释也被翻译

注意:我在Firefox上试过这个程序

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

driver = webdriver.Firefox()
driver.maximize_window()
driver.get("https://www.tripadvisor.in/ShowUserReviews-g1-d8729164-r425811350-TAP_Portugal-World.html")
gt= driver.find_elements(By.CSS_SELECTOR,".googleTranslation>.link")
print(type(gt))
for i in gt:
    i.click()
    time.sleep(15)
    driver.find_element_by_class_name("ui_close_x").click()
    time.sleep(15)

一旦我运行代码-->“Exception AttributeError:“'Service'对象在忽略中没有属性'process'”,就会出现此错误。然后我再次分别运行最后6行,但在用户“JoséC”评论之后,翻译停止了。第二个错误是---------------->“WebDriverException:Message:元素在点”driver=webdriver.Chrome(“chromedriver\chromedriver.exe的路径”)处不可单击…提供到您的chromedriver的正确路径machine@shalini当我运行上面的代码时,它会单击所有注释。我使用driver=webdriver.Firefox()从该链接下载chromedrive并将其解压,并提供“chromedriver.exe”解压位置的路径,该位置在我运行代码时立即出现此错误-->“Exception AttributeError:“'Service'对象在忽略中没有属性'process'”。然后我再次分别运行最后6行,但在用户“JoséC”评论之后,翻译停止了。第二个错误是---------------->“WebDriverException:Message:元素在点”driver=webdriver.Chrome(“chromedriver\chromedriver.exe的路径”)处不可单击…提供到您的chromedriver的正确路径machine@shalini当我运行上面的代码时,它会单击所有注释。我使用driver=webdriver.Firefox()从这个链接下载chromedrive并解压它&提供“chromedriver.exe”解压位置的路径非常感谢,但我现在面临另一个问题->非常感谢,但我现在面临另一个问题->