如何在Python中找到一个元素[Selenium]

时间:2015-07-16 17:17:27

标签: python selenium selenium-webdriver element

我想得到以下元素,但我很难这样做。我已经通过课程,css_selector等尝试了

<a href="http://www.google.ca" target="_blank" class="btn visit__link">
"Visit this Webpage"
<br>
"for more content!"
</a>
<br>
<small>Opens in a new window.</small>
</div>
</section>

我已尝试过以下代码,但它似乎无法运作:

web = browser.find_element(By.cssSelector("a[class='btn visit__link']")).click()

2 个答案:

答案 0 :(得分:1)

一种选择是按类别名称找到链接,如@Malik建议:

browser.find_element_by_class_name('visit__link')

或使用CSS选择器:

browser.find_element_by_css_selector('a.visit__link')

或者,您也可以通过部分链接文本找到链接:

browser.find_element_by_partial_link_text('Visit this Webpage')

您可能还需要wait 才能使按钮显示

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

wait = WebDriverWait(browser, 10)

link = wait.until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Visit this Webpage")))
link.click()

答案 1 :(得分:0)

试试这个选择器:

By.cssSelector("a[class*='visit__link']")