Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

Tôi có thể định vị XPath của phần tử mà tôi muốn, tuy nhiên nó sẽ không cho phép tôi nhấp vào nó. Cụ thể, nó ném một "WebDriveRexception."

from selenium import webdriver
browser=webdriver.Chrome()
url='https://fred.stlouisfed.org/categories/32261'
browser.get(url)
click=browser.find_element_by_xpath("//a[@title='next page']")
print(click.get_attribute('title'))
click.click()

Trả về lỗi sau:

Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

Andersson

50.8K16 Huy hiệu vàng70 Huy hiệu bạc123 Huy hiệu đồng16 gold badges70 silver badges123 bronze badges

Hỏi ngày 8 tháng 10 năm 2017 lúc 8:54Oct 8, 2017 at 8:54

1

Bạn không thể nhấp vào phần tử được yêu cầu vì hiện tại nó không hiển thị. Bạn nên cuộn xuống nút "Tiếp theo" trước khi nhấp vào nó:

from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://fred.stlouisfed.org/categories/32261'
browser.get(url)
next_button = browser.find_element_by_xpath("//a[@title='next page']")
browser.execute_script("arguments[0].scrollIntoView();", next_button)
next_button.click()

Đã trả lời ngày 8 tháng 10 năm 2017 lúc 9:41Oct 8, 2017 at 9:41

Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

AnderssonanderssonAndersson

50.8K16 Huy hiệu vàng70 Huy hiệu bạc123 Huy hiệu đồng16 gold badges70 silver badges123 bronze badges

2

Hỏi ngày 8 tháng 10 năm 2017 lúc 8:54

   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()

Bạn không thể nhấp vào phần tử được yêu cầu vì hiện tại nó không hiển thị. Bạn nên cuộn xuống nút "Tiếp theo" trước khi nhấp vào nó:Oct 8, 2017 at 9:33

Đã trả lời ngày 8 tháng 10 năm 2017 lúc 9:41Kyle

Anderssonandersson1 gold badge5 silver badges13 bronze badges

1

Các trang web hiện đại được trang bị rất nhiều chức năng. Các nút là một trong những thành phần cơ bản của chúng. Các ràng buộc API Selenium Python cho phép chúng tôi truy cập các webDers Selenium để tự động nhấp vào nút. Trong bài viết này, chúng tôi sẽ làm theo cách tiếp cận từng bước để nhấp vào các nút.

Thiết lập môi trường

Chúng tôi cần nhập Selenium trước để bắt đầu hoạt động của mình và sau đó chúng tôi sẽ nhập một webDriver cho phép chúng tôi tự động hóa các trang web. Chúng tôi sẽ sử dụng Chrome WebDriver để điều hướng qua trình duyệt Chrome. Mô -đun ‘

from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://fred.stlouisfed.org/categories/32261'
browser.get(url)
next_button = browser.find_element_by_xpath("//a[@title='next page']")
browser.execute_script("arguments[0].scrollIntoView();", next_button)
next_button.click()
2 cần được nhập vì nó sẽ cho phép một thời gian để trình duyệt tải trang đúng cách.

from selenium import webdriver
from selenium.webdriver.support.select import Select
import time 
driver = webdriver.Chrome(executable_path = r'G:/scraping_practice/chromedriver_win32/chromedriver.exe')
driver.get('https://www.imdb.com/search/title/')

Đường dẫn thực thi trình điều khiển Chrome được chọn. Bây giờ trình điều khiển đã sẵn sàng để điều hướng đến trang tìm kiếm tiêu đề nâng cao IMDB IMDB:“IMDb Advanced Title Search” page:

Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

Tìm nút

Để nhấp vào nút trước tiên, chúng ta cần tìm nút. Chúng ta cần mở trang trong Chrome. Nhấp chuột phải vào nút và chọn phần tử kiểm tra từ menu ngữ cảnh. Cửa sổ Thanh tra sẽ mở bằng nút đánh dấu HTML của nút được chọn.Inspect Element from the context menu. The inspector window will open with the button’s HTML markup selected.

Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

Sau đó, chúng ta có thể tìm thấy nút trên trang web bằng cách sử dụng các phương thức như:

  • from selenium import webdriver
    browser = webdriver.Chrome()
    url = 'https://fred.stlouisfed.org/categories/32261'
    browser.get(url)
    next_button = browser.find_element_by_xpath("//a[@title='next page']")
    browser.execute_script("arguments[0].scrollIntoView();", next_button)
    next_button.click()
    
    3
  • from selenium import webdriver
    browser = webdriver.Chrome()
    url = 'https://fred.stlouisfed.org/categories/32261'
    browser.get(url)
    next_button = browser.find_element_by_xpath("//a[@title='next page']")
    browser.execute_script("arguments[0].scrollIntoView();", next_button)
    next_button.click()
    
    4
  • from selenium import webdriver
    browser = webdriver.Chrome()
    url = 'https://fred.stlouisfed.org/categories/32261'
    browser.get(url)
    next_button = browser.find_element_by_xpath("//a[@title='next page']")
    browser.execute_script("arguments[0].scrollIntoView();", next_button)
    next_button.click()
    
    5
  • from selenium import webdriver
    browser = webdriver.Chrome()
    url = 'https://fred.stlouisfed.org/categories/32261'
    browser.get(url)
    next_button = browser.find_element_by_xpath("//a[@title='next page']")
    browser.execute_script("arguments[0].scrollIntoView();", next_button)
    next_button.click()
    
    6
  • from selenium import webdriver
    browser = webdriver.Chrome()
    url = 'https://fred.stlouisfed.org/categories/32261'
    browser.get(url)
    next_button = browser.find_element_by_xpath("//a[@title='next page']")
    browser.execute_script("arguments[0].scrollIntoView();", next_button)
    next_button.click()
    
    7
  • from selenium import webdriver
    browser = webdriver.Chrome()
    url = 'https://fred.stlouisfed.org/categories/32261'
    browser.get(url)
    next_button = browser.find_element_by_xpath("//a[@title='next page']")
    browser.execute_script("arguments[0].scrollIntoView();", next_button)
    next_button.click()
    
    5
  • from selenium import webdriver
    browser = webdriver.Chrome()
    url = 'https://fred.stlouisfed.org/categories/32261'
    browser.get(url)
    next_button = browser.find_element_by_xpath("//a[@title='next page']")
    browser.execute_script("arguments[0].scrollIntoView();", next_button)
    next_button.click()
    
    9
  •    from selenium import webdriver
       browser=webdriver.Chrome()
       url='https://fred.stlouisfed.org/categories/32261'
       browser.get(url)
       click=browser.find_element_by_xpath("//a[@title='next page']")
       print(click.get_attribute('title'))
       click.send_keys('next page')
       click.click()
    
    0
  •    from selenium import webdriver
       browser=webdriver.Chrome()
       url='https://fred.stlouisfed.org/categories/32261'
       browser.get(url)
       click=browser.find_element_by_xpath("//a[@title='next page']")
       print(click.get_attribute('title'))
       click.send_keys('next page')
       click.click()
    
    1

Nhấp vào nút radio bằng cách sử dụng id id ”

Chúng tôi sẽ tìm thấy các tiêu đề loại trừ mà tôi đã thấy nút radio từ tùy chọn xếp hạng của bạn trên trang web của bạn.

Hãy để nhấp chuột phải vào nút và sau đó nhấp vào phần tử kiểm tra của KIỂM TRA từ menu ngữ cảnh. Chúng ta có thể thấy từ HTML rằng thẻ đang điều khiển nút radio (xem hình ảnh: 2). Thẻ này có một thuộc tính ‘id. Vì vậy, chúng ta có thể tìm thấy nút radio với phương thức find_element_by_id (). Hãy để kiểm tra mã:

driver.find_element_by_id('my_ratings|exclude')

Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

Chúng ta có thể tạo một biến ‘

   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
2 của loại
   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
3 và sau đó nhấp vào nó bằng phương pháp
   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
4.

button = driver.find_element_by_id('my_ratings|exclude')
button.click()
time.sleep(3)

Các tiêu đề loại trừ mà tôi đã thấy nút radio của Wikipedia sẽ được chọn khi mã được thực thi. Chúng tôi đã sử dụng phương thức

   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
5 để cho phép 3 giây tải trang tiếp theo đúng.

Nhấp vào nút Tìm kiếm bằng Xpath

Ở phần cuối của trang, chúng ta có thể thấy nút tìm kiếm. Làm thế nào để nhấp vào nó? Hãy để kiểm tra nó

Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

Như chúng ta có thể thấy nó là một thẻ

   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
2 và chúng ta không thể sử dụng lớp ở đây để tìm phần tử vì nó là một lớp chính thức phổ biến. Tuy nhiên, chúng ta có thể tìm thấy nó với phương thức ____ ____27, để biết
   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
8, nhấp chuột phải vào thẻ
   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
9, đi đến sao chép và sau đó chọn tùy chọn Sao chép Xpath Xpath từ menu ngữ cảnh.
   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
8 cho thẻ
   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
9 sẽ được sao chép. Sau đó làm cho nó trở thành một biến và chỉ áp dụng phương thức
   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
4 trên nó. Mã sẽ trông như thế này:

search_button = driver.find_element_by_xpath('//*[@id="main"]/p[3]/button')
search_button.click()

Khi chúng tôi chạy mã, chúng tôi sẽ được chuyển tiếp đến một trang khác sau khi nhấn nút Tìm kiếm trên mạng.

Nhấp vào nút Đăng nhập vào "bằng văn bản liên kết

Ở góc trên cùng bên phải của trang tìm kiếm tiêu đề nâng cao trên mạng, chúng ta có thể thấy một nút ký trong nút Tùy chọn. Hãy để nhấp chuột phải vào nó và kiểm tra.

Hướng dẫn how do you click on xpath in python? - làm cách nào để bạn nhấp vào xpath trong python?

Mặc dù tên

from selenium import webdriver
from selenium.webdriver.support.select import Select
import time 
driver = webdriver.Chrome(executable_path = r'G:/scraping_practice/chromedriver_win32/chromedriver.exe')
driver.get('https://www.imdb.com/search/title/')
3 có sẵn ở đây trong thẻ
from selenium import webdriver
from selenium.webdriver.support.select import Select
import time 
driver = webdriver.Chrome(executable_path = r'G:/scraping_practice/chromedriver_win32/chromedriver.exe')
driver.get('https://www.imdb.com/search/title/')
4, chúng ta có thể sử dụng một phương thức thú vị ở đây được gọi là
from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://fred.stlouisfed.org/categories/32261'
browser.get(url)
next_button = browser.find_element_by_xpath("//a[@title='next page']")
browser.execute_script("arguments[0].scrollIntoView();", next_button)
next_button.click()
7. Với phương thức này, phần tử đầu tiên với giá trị văn bản liên kết khớp với vị trí sẽ được trả về. Nếu bất kỳ phần tử nào khớp với thuộc tính văn bản liên kết không được tìm thấy,
from selenium import webdriver
from selenium.webdriver.support.select import Select
import time 
driver = webdriver.Chrome(executable_path = r'G:/scraping_practice/chromedriver_win32/chromedriver.exe')
driver.get('https://www.imdb.com/search/title/')
6 sẽ được nâng lên.

Vì vậy, ở đây chúng ta chỉ cần đặt văn bản chính xác làm tham số bên trong phương thức

from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://fred.stlouisfed.org/categories/32261'
browser.get(url)
next_button = browser.find_element_by_xpath("//a[@title='next page']")
browser.execute_script("arguments[0].scrollIntoView();", next_button)
next_button.click()
7 để tìm phần tử. Hãy cùng cố gắng nhấp vào nút Đăng nhập vào trong nút này với phương pháp này.

sign_button = driver.find_element_by_link_text('Sign In')
sign_button.click()

Khi chúng tôi kiểm tra mã chúng tôi sẽ thấy, chúng tôi sẽ được chuyển vào trang đăng nhập trong trang. Phương pháp

from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://fred.stlouisfed.org/categories/32261'
browser.get(url)
next_button = browser.find_element_by_xpath("//a[@title='next page']")
browser.execute_script("arguments[0].scrollIntoView();", next_button)
next_button.click()
7 này dường như rất dễ làm việc với ngay cả đối với người mới.

Cách nhấp chuột phải vào nút

Mô -đun Selenium có một lớp hữu ích khác có tên là ____ ____39 mà chúng ta có thể sử dụng để thực hiện các hoạt động phức tạp như chuột di chuột qua, kéo và thả, keypress, v.v. Hôm nay chúng tôi sẽ sử dụng nó để nhấp chuột phải vào nút Đăng nhập vào nút.

Chúng ta cần nhập lớp

from selenium import webdriver
from selenium.webdriver.support.select import Select
import time 
driver = webdriver.Chrome(executable_path = r'G:/scraping_practice/chromedriver_win32/chromedriver.exe')
driver.get('https://www.imdb.com/search/title/')
9 từ
driver.find_element_by_id('my_ratings|exclude')
2. Sau đó, chúng tôi sẽ tạo một đối tượng của lớp chuỗi hành động để nhấp chuột phải vào nó. Lớp
from selenium import webdriver
from selenium.webdriver.support.select import Select
import time 
driver = webdriver.Chrome(executable_path = r'G:/scraping_practice/chromedriver_win32/chromedriver.exe')
driver.get('https://www.imdb.com/search/title/')
9 này sẽ lấy trình điều khiển làm đối số.

from selenium.webdriver import ActionChains 
actions  = ActionChains(driver)

Bây giờ chúng ta cần kiểm tra

   from selenium import webdriver
   browser=webdriver.Chrome()
   url='https://fred.stlouisfed.org/categories/32261'
   browser.get(url)
   click=browser.find_element_by_xpath("//a[@title='next page']")
   print(click.get_attribute('title'))
   click.send_keys('next page')
   click.click()
3 cho nút Đăng nhập vào nút. Như chúng tôi đã làm trước đây, chúng tôi có thể sao chép và dán nó ở đây.

sign_button = driver.find_element_by_link_text('Sign In')

Bây giờ đối với tùy chọn nhấp chuột phải, chúng tôi sẽ lấy một phương thức khác có tên là ____ ____45. Phương pháp này trong lớp

from selenium import webdriver
from selenium.webdriver.support.select import Select
import time 
driver = webdriver.Chrome(executable_path = r'G:/scraping_practice/chromedriver_win32/chromedriver.exe')
driver.get('https://www.imdb.com/search/title/')
9 thực hiện nhấp chuột ngữ cảnh (nhấp chuột phải) trên một phần tử.
driver.find_element_by_id('my_ratings|exclude')
7Method sẽ được yêu cầu thực hiện nhấp chuột như được định nghĩa trong
from selenium import webdriver
from selenium.webdriver.support.select import Select
import time 
driver = webdriver.Chrome(executable_path = r'G:/scraping_practice/chromedriver_win32/chromedriver.exe')
driver.get('https://www.imdb.com/search/title/')
9Class.

from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://fred.stlouisfed.org/categories/32261'
browser.get(url)
next_button = browser.find_element_by_xpath("//a[@title='next page']")
browser.execute_script("arguments[0].scrollIntoView();", next_button)
next_button.click()
0

Khi chúng tôi thực thi, trình duyệt Chrome sẽ tải và tự động nhấp chuột phải vào nút Đăng nhập vào nút.

Bây giờ nếu chúng ta muốn nhấp vào một nút trong menu ngữ cảnh, chúng ta có thể thực hiện nó theo cách tương tự như chúng ta đã thực hiện nó để nhấp vào một nút.

Cách nhấp đúp vào nút

Để nhấp đúp chuột vào nút hoặc menu, chúng tôi sẽ làm theo quy trình tương tự như chúng tôi đã làm theo một nhấp chuột phải vào hướng dẫn nút. Nhưng ở đây chúng tôi sẽ sử dụng phương pháp

driver.find_element_by_id('my_ratings|exclude')
9 thay vì
button = driver.find_element_by_id('my_ratings|exclude')
button.click()
time.sleep(3)
0. Phương thức
driver.find_element_by_id('my_ratings|exclude')
9 này cho phép chúng tôi nhấp đúp vào một phần tử. Ví dụ, mã để nhấp đúp vào nút Đăng nhập vào nút của Nút.

from selenium import webdriver
browser = webdriver.Chrome()
url = 'https://fred.stlouisfed.org/categories/32261'
browser.get(url)
next_button = browser.find_element_by_xpath("//a[@title='next page']")
browser.execute_script("arguments[0].scrollIntoView();", next_button)
next_button.click()
1

Để biết thêm về các lớp và phương pháp khác nhau của gói selen trong Python, vui lòng kiểm tra các tài liệu. Nếu bạn muốn tăng cường các kỹ năng Python của mình, hãy xem Học viện Email miễn phí của chúng tôi với Python Cheat Sheets:

Làm thế nào xác định XPath trong Python?

Để tìm XPath cho một phần tử cụ thể trên một trang: Nhấp chuột phải vào phần tử trong trang và nhấp vào Kiểm tra. Nhấn vào phần tử trong tab Elements. Bấm vào Sao chép XPath.Right-click the element in the page and click on Inspect. Right click on the element in the Elements Tab. Click on copy XPath.

Làm thế nào Python Xpath hoạt động trong selenium?

XPath trong selen theo đường dẫn XML để điều hướng qua cấu trúc HTML của trang web.Bất cứ khi nào một trang web tải trong trình duyệt, nó sẽ tạo cấu trúc mô hình đối tượng tài liệu (DOM).Một biểu thức XPath hoặc lệnh, được sử dụng để tìm bất kỳ phần tử web động nào trong DOM được tạo.follows an XML path to navigate through the HTML structure of a web page. Whenever a web page loads in a browser, it creates a Document Object Model (DOM) structure. An XPath expression, or command, is used to find any dynamic web element within the generated DOM.

Nút Python ở đâu trong selenium?

Approach:..
Nhập selen và thư viện thời gian ..
Đặt đường dẫn trình điều khiển web với vị trí mà bạn đã tải xuống webdriver.Ví dụ- C C: \\ cromedriver.exe.
Gọi cho tài xế.Nhận () hàm để điều hướng đến một URL cụ thể ..
Thời gian gọi.....
Sử dụng trình điều khiển.....
Tìm nút bằng văn bản- ....
Cuối cùng đóng trình điều khiển bằng trình điều khiển ..