【发布时间】:2021-03-29 19:38:52
【问题描述】:
我正在尝试使用 selenium 更改 website 上的语言。这是我第二次遇到这个下拉菜单的问题,因为他们改变了网站布局,之前的问题here。 当我使用 Selenium 打开时,该网站是英文的。我想把它改成德语。 我可以打开语言选项卡,查看代码,然后尝试使用该对象单击 mat-list-item,但它不起作用。我必须点击哪个按钮来更改语言?
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
driver = webdriver.Chrome('/path-to-my-chromedriver/chromedriver')
driver.get('https://swisstaxcalculator.estv.admin.ch/#/taxdata/tax-scales')
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '/html/body/div/div[4]/header/div/div[2]/header-widget')))
print(driver.find_element(By.XPATH, '/html/body/div/div[4]/header/div/div[2]/header-widget').text)
listEle = driver.find_element(By.XPATH, '/html/body/div/div[4]/header/div/div[2]/header-widget')
listEle.click()
然后我尝试点击Deutsch,但这些都不起作用。我已经分别尝试过。
listEle.find_element(By.XPATH, "//h4[text()='Deutsch']").click()
listEle.find_element(By.LINK_TEXT, "Deutsch").click()
listEle.find_element(By.XPATH, '/html/body/div/div[4]/header/div/div[2]/header-widget//div/div/app-language/div/mat-card/mat-list/mat-list-item[1]/div/div[2]/h4').click()
listEle.find_element(By.XPATH, '//*[@id="language"]/mat-card/mat-list/mat-list-item[1]').click()
listEle.find_element(By.XPATH, '/html/body/div/div[4]/header/div/div[2]/header-widget//div/div/app-language/div/mat-card/mat-list/mat-list-item[1]/div/div[1]').click()
我也尝试过使用driver 而不是listEle,结果相同。
【问题讨论】:
标签: html python-3.x selenium-webdriver