如何使用SeleniumWebDriver和Python单击语言/区域链接?
我正试图点击“北美”和“美国”,网址如下: 以下是我工作了几个星期的步骤,但现在似乎不起作用如何使用SeleniumWebDriver和Python单击语言/区域链接?,python,selenium,Python,Selenium,我正试图点击“北美”和“美国”,网址如下: 以下是我工作了几个星期的步骤,但现在似乎不起作用 # choose country/region driver.find_element_by_xpath("(//button[@type='button'])[2]").click() wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "li.US a"))).click() 第一个司令部现在似乎打开了南美洲,然后因为它正在
# choose country/region
driver.find_element_by_xpath("(//button[@type='button'])[2]").click()
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "li.US a"))).click()
第一个司令部现在似乎打开了南美洲,然后因为它正在寻找我们而停滞不前,但南美洲下没有美国的联系。
我认为我需要更改xPath,但我不确定什么是正确的xPath(并且更愿意不使用xPath)。正如您所看到的,在这种情况下,按索引定位元素并不十分可靠。像元素的顺序这样的事情往往会经常改变。相反,请使用
数据区域
属性,例如:
driver.find_element_by_css_selector("button[data-region=n-america]").click()
如您所见,在这种情况下,按索引定位元素并不十分可靠。像元素的顺序这样的事情往往会经常改变。相反,请使用
数据区域
属性,例如:
driver.find_element_by_css_selector("button[data-region=n-america]").click()
请尝试使用以下代码:
driver.find_element_by_xpath('//button[@data-region="n-america"]').click()
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "li a[data-country="US"]"))).click()
请尝试使用以下代码:
driver.find_element_by_xpath('//button[@data-region="n-america"]').click()
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "li a[data-country="US"]"))).click()
如果您明天想更改国家名称,可以使用以下代码段:
countryToSearch = "North America" // you can change this accordingly, rest should work fine
for countries in driver.find_elements_by_xpath("(//button[@type='button'])"):
countryName = countries.text
if countryName == countryToSearch:
countries.click()
break
如果您明天想更改国家名称,可以使用以下代码段:
countryToSearch = "North America" // you can change this accordingly, rest should work fine
for countries in driver.find_elements_by_xpath("(//button[@type='button'])"):
countryName = countries.text
if countryName == countryToSearch:
countries.click()
break
希望你标记出解决问题的正确答案。希望你标记出解决问题的正确答案。