蟒蛇硒无法点击标签
问题描述:
我想请点击如下图所示名为“段Metrix的2.0消费对象档案报告”蟒蛇硒无法点击标签
此按钮,我发现相应的HTML,如下图所示。
我试着写了如下代码:
elem = driver.find_elements_by_xpath("//*[contains(text(), 'Segment Metrix 2.0 Consumer Target Profile report ')]")
print (elem)
它给了我:
[<selenium.webdriver.remote.webelement.WebElement (session="daf65f4e5ed0485027d04eed8db8aca7", element="0.8079987809618281-1")>]
但我不能点击它加入elem[0].click()
,它抛出我“元素不可见”错误。我该怎么办?
答
尽量等到元素变得可见:
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
wait(driver, 10).until(EC.visibility_of_element_located((By.LINK_TEXT, "Segment Metrix 2.0 Consumer Target Profile report"))).click()
答
您可以等待元素可见
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
elem = driver.find_elements_by_xpath("//*[contains(text(), 'Segment Metrix 2.0 Consumer Target Profile report ')]")
WebDriverWait(driver, 10).until(EC.visibility_of(elem[0]))
elem[0].click()
答
的问题是该元素具有可见。这意味着即使它在html中也是不够的,它必须在浏览器中可见。尝试先点击下拉列表以查看其元素,而不是单击其中一个元素。另外,点击下拉列表后,不要忘记等到你的元素被显式或隐式地看到。
您确定需要点击它吗?如果它只是一个带有网址的对象,请确切链接并使用driver.get(url)
+0
非常好的解释!我点击下拉列表,它的作品!谢谢。是的,我必须点击它,因为URL始终保持不变。 –
谢谢您的回答!我尝试过,但我得到了一个timeoutexception:'selenium.common.exceptions.TimeoutException:消息:' –
您点击“Segment Metrix 2.0 Consumer Target Profile report”之前是否点击了“Segment dec”? – Andersson
你是对的!我没有点击segment dec。只需点击它,它的作品! Thx;) –