【发布时间】:2023-03-30 16:55:01
【问题描述】:
这是一个提供税务信息的开放网站。我访问该站点,单击“Abzüge”,然后下一页是英文的。我尝试更改为德语,但是找不到按钮。我当前的代码是
from selenium import webdriver
driver = webdriver.Chrome('/path-to-my-chromedriver/chromedriver')
driver.get('https://www.estv.admin.ch/estv/de/home/allgemein/steuerstatistiken/fachinformationen/steuerbelastungen/steuerfuesse.html')
elem1 = driver.find_element_by_link_text('Abzüge')
elem1.click()
de = driver.find_element_by_xpath('/html/body/div/div[4]/header/div/div[2]/div/button[1]')
de.click()
driver.close()
错误是NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/div[4]/header/div/div[2]/div/button[1]"} (Session info: chrome=85.0.4183.102)
我也尝试按类和较短的 xPath 来查找按钮,但我永远找不到按钮。
我还需要在主字段中选择一些按钮。所以我也试了一下,但效果不佳。我选择整个瑞士的代码,而不是改成德语,是
element = driver.find_element_by_xpath('//*[@id="LOCATION"]/div[2]/div[1]/div[1]/div/div/div[2]')
element.click()
我遇到同样的错误,NoSuchElementException。
如何更改网页上的语言,以及如何选择正文中的按钮?
【问题讨论】:
-
试试这个 XPath
//nav[@class='nav-lang']//li[contains(., 'DE')]来定位语言元素。(右上角)。 -
这没有得到异常。你能详细说明你的解决方案吗?但是,它并没有改变语言(至少在 selenium 打开的浏览器上看不到)。
-
这是获取语言代码为
DE的元素的 XPath。如果您能够识别元素,请将DE更改为IT(因为DE是默认语言),然后单击该元素。
标签: html python-3.x selenium