Q - ต้องการแปลงค่า session กับ element ที่ได้จากผลลัพธ์ของ xpath

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

rangsan
PHP Hero Member
PHP Hero Member
โพสต์: 199
ลงทะเบียนเมื่อ: 30/04/2018 9:44 am

Q - ต้องการแปลงค่า session กับ element ที่ได้จากผลลัพธ์ของ xpath

โพสต์โดย rangsan » 09/05/2018 5:13 pm

ต้องการแปลงผลลัพธ์ที่ได้จาก xpath ออกมาเป็นลิ้งครับ

โค้ด: เลือกทั้งหมด

from selenium import webdriver
import re,unittest,time

# เข้าหน้าเว็บ Mindphp
firefoxpath = "/home/com003/PycharmProjects/m058/geckodriver"
driver = webdriver.Firefox(executable_path=firefoxpath)
time.sleep(0.5)
driver.get('http://www.mindphp.com')

# คลิกลิ้งหัวข้อบทความ
driver.find_element_by_link_text(u"บทความ").click()

# webArticle
WebArticle = driver.find_element_by_link_text("ความรู้ทั่วไป").click()
title_list = driver.find_elements_by_xpath(
    "//div[@class='category-list']//table[@class='category table table-striped table-bordered table-hover']/tbody/tr")


ในส่วนของการทำ Xpath

โค้ด: เลือกทั้งหมด

title_list = driver.find_elements_by_xpath(
    "//div[@class='category-list']//table[@class='category table table-striped table-bordered table-hover']/tbody/tr")


ผลลัพธ์ที่ได้ครับ

โค้ด: เลือกทั้งหมด

[<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="8e69c9dd-2481-4b1a-b851-7fd100b62a79")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="f6f17cbf-0286-45da-ae47-fe0ecda961ce")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="1ae666fa-1fb6-49c3-b621-355090a98d5f")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="f59af0cc-071b-492e-8401-d3268e114b33")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="0b5d2c87-f243-4954-bd8b-4023cdcfed82")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="aa1f2d35-5799-4210-844f-4857fb182910")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="baea6fc8-1a95-4f06-b1a3-9518029429d3")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="fc6fcc71-0ffa-4eed-b234-96a61d30607e")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="e9d2f693-fb20-4473-87c1-9f17eaf32102")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="726129f5-7f20-490d-8449-a31efd60a2da")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="323e23cb-c18e-4284-8adb-258281d61880")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="49f0ddeb-0346-413a-8df1-1c62ecdb1b3c")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="5d3505c5-8ba8-4038-87b2-a427923e3256")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="25a7ed30-0535-413f-a2a4-512fe7d41c2a")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="dc01c7a6-7dfe-459c-83b3-80c625a29c99")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="f079098e-dac5-44cb-a712-2c83cbeb5c4c")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="b6b66792-4dc9-4195-83cd-3804a7e6af82")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="6c7b9e09-e4ec-45df-ab42-fe021f910c71")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="4fea8e98-b47e-4997-a2d7-3fcdf3cfe37e")>, <selenium.webdriver.firefox.webelement.FirefoxWebElement (session="d7b3c63b-cf02-43ac-9dbe-58689e423336", element="99d1e501-e597-4d5a-bd9d-aa554d18ac7f")>]


รูปภาพผลลัพธ์
xpath.png


ผลลัพธ์ที่ต้องการได้
output_want.png
แก้ไขล่าสุดโดย rangsan เมื่อ 09/05/2018 5:32 pm, แก้ไขไปแล้ว 1 ครั้ง.
It’s never too late to start again.

ภาพประจำตัวสมาชิก
nuattawoot
PHP VIP Members
PHP VIP Members
โพสต์: 2042
ลงทะเบียนเมื่อ: 05/06/2017 9:34 am

Re: Q - ต้องการแปลงค่า session กับ element ที่ได้จากผลลัพธ์ของ xpath

โพสต์โดย nuattawoot » 09/05/2018 5:31 pm

โค้ด: เลือกทั้งหมด

ontinue_link = driver.find_element_by_tag_name('a')
elems = driver.find_elements_by_xpath("//a[@href]")
#elems Print ออกมาไจะได้ session,element
for elem in elems:
    print (elem.get_attribute("href"))
    # Print http://www.mindphp.com/blog/2013.html?view=archive&month=3


ใช้งาน

โค้ด: เลือกทั้งหมด

for elem in elems:
    print (elem.get_attribute("href"))
First Bug Love you


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 7 และ บุคคลทั่วไป 0 ท่าน