簡體   English   中英

python,找到並單擊帶有硒的特定按鈕

[英]python, locating and clicking a specific button with selenium

使用python和selenium,我需要找到並單擊網頁上的特定按鈕。 在正常情況下,可以使用以下命令完成此操作

next = driver.find_element_by_css_selector(".next")
next.click()

由於網頁編碼,在這種情況下不起作用。 指向上一頁的按鈕和指向下一頁的按鈕共享相同的類名。 因此,此代碼只會在第一頁和第二頁之間來回

據我所知,將兩個按鈕區分開的唯一方法是,通向上一頁的按鈕位於

<li class="previous">
    #button
</li>

而導致下一頁的內容位於

<li class="next">
    #button
</li>

有什么方法可以讓硒僅選擇並單擊“下一個” li類中的按鈕?

完整的按鈕代碼:

上一個按鈕:

<li class="previous">
    <a class="next" rel="nofollow" onclick="qc.pA('nrForm', 'f76', 'QClickEvent', '1', 'f28'); return false;" href="">
        Previous
    </a>
</li>

下一個按鈕:

<li class="next">
    <a class="next" rel="nofollow" onclick="qc.pA('nrForm', 'f76', 'QClickEvent', '3', 'f28'); return false;" href="">
        Next
    </a>
</li>

我認為您應該使用.find_element_by_xpath()。 例如:

next = driver.find_element_by_xpath("//li[@class='next']/a")
prev = driver.find_element_by_xpath("//li[@class='previous']/a")

要么:

next = driver.find_element_by_xpath("//a[text()='Next']")
prev = driver.find_element_by_xpath("//a[text()='Previous']")

使用CSS選擇器:

next = driver.find_element_by_css_selector('li.next>a')

CSS選擇器很酷而且有用: http : //www.w3schools.com/cssref/css_selectors.asp

XPATH並不是很多,它只能用作最后的手段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM