[ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

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

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

ภาพประจำตัวสมาชิก
Panchalee
PHP Super Member
PHP Super Member
โพสต์: 296
ลงทะเบียนเมื่อ: 30/10/2017 10:10 am

[ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์ที่ยังไม่ได้อ่าน โดย Panchalee »

จากคำถามของกระทู้ก่อน
https://www.mindphp.com/forums/viewtopic ... 31#p109331

ได้ลองเปลี่ยนเรียกแบบ css มาเป็น

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

weblink = browser.find_element_by_class_name('tr.cat-list-row0')
for w in range(len(weblink)):
    link = browser.find_element_by_class_name('tr.cat-list-row0')
    allweb = link[w].get_attribute("href")
    browser.get(allweb.encode('utf-8'))
    browser.back()

01.png
01.png (48.09 KiB) Viewed 1393 times
แต่ก็ยังไม่สามารถวนลูปเข้าบทความได้ค่ะ อยากทราบว่า ต้องใช้โค้ดอะไร ในการเรียก css คะ

*หมายเหตุ ได้เปลี่ยนเว็บไซต์ในการทดลองทำค่ะ
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ขอผลที่ได้จาก code เเต่ละบรรทัดหน่อยค่ะ อธิบายมาหน่อย เเต่ละบรรทัดทำอะไร
ภาพประจำตัวสมาชิก
Panchalee
PHP Super Member
PHP Super Member
โพสต์: 296
ลงทะเบียนเมื่อ: 30/10/2017 10:10 am

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์ที่ยังไม่ได้อ่าน โดย Panchalee »

thatsawan เขียน:ขอผลที่ได้จาก code เเต่ละบรรทัดหน่อยค่ะ อธิบายมาหน่อย เเต่ละบรรทัดทำอะไร
หลังจากที่ให้ selenium เข้าสู่หมวดความรู้แล้ว

ส่วนนี้จะเป็นการสร้างตัวแปรที่ weblink เพื่อเก็บข้อมูลของ browser.find_element_by_class_name('tr.cat-list-row0')

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

weblink = browser.find_element_by_class_name('tr.cat-list-row0')

หลังจากนั้น ให้ตัวแปร weblink ที่ตั้งไว้มาใส่ใน for แล้วให้วนลูปค่ะ

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

for w in range(len(weblink)):
    link = browser.find_element_by_class_name('tr.cat-list-row0')
    allweb = link[w].get_attribute("href")
    browser.get(allweb.encode('utf-8'))
    
แล้วต้องการให้ กดกลับมาหน้าเดิม แล้วเข้าบทความอื่นต่อค่ะ
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

เพื่อเก็บข้อมูลของ browser.find_element_by_class_name('tr.cat-list-row0')
หมายความว่าอะไร ตรงนี้เขียนเพื่อจะทำอะไร เเล้วมันได้ผลอย่างไรค่ะ
ภาพประจำตัวสมาชิก
Panchalee
PHP Super Member
PHP Super Member
โพสต์: 296
ลงทะเบียนเมื่อ: 30/10/2017 10:10 am

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์ที่ยังไม่ได้อ่าน โดย Panchalee »

thatsawan เขียน:
เพื่อเก็บข้อมูลของ browser.find_element_by_class_name('tr.cat-list-row0')
หมายความว่าอะไร ตรงนี้เขียนเพื่อจะทำอะไร เเล้วมันได้ผลอย่างไรค่ะ
จะทำให้มันหาหัวข้อของบทความให้เจอค่ะ แต่ว่าตอนนี้ยังหาไม่เจอ ไม่แน่ใจว่า ใช้โค้ดผิดรึป่าวค่ะ
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

browser.find_element_by_class_name('tr.cat-list-row0')

https://www.mindphp.com/forums/viewtopic ... 31#p109331
ผลได้อะไร ในบันทัดที่เขียนตรงนั้น
ภาพประจำตัวสมาชิก
Panchalee
PHP Super Member
PHP Super Member
โพสต์: 296
ลงทะเบียนเมื่อ: 30/10/2017 10:10 am

Re: [ปัญหา]วิธีการเรียกใช้โค้ดใน css เพื่อใช้ในการวนลูปใน selenium

โพสต์ที่ยังไม่ได้อ่าน โดย Panchalee »

มันไม่เกิดผลอะไรเลยค่ะ จากโค้ดทั้งหมด ตอนนี้เข้าไปแค่หน้าเว็บหมวดความรู้ได้ค่ะ แต่ยังเข้าบทความไม่ได้

error ที่แสดงออกมาค่ะ

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

 File "C:/Users/panchalee/PycharmProjects/Selenium/testloopmdsoft.py", line 17, in <module>
    weblink = browser.find_element_by_class_name('tr.cat-list-row0')
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 485, in find_element_by_class_name
    return self.find_element(by=By.CLASS_NAME, value=name)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 855, in find_element
    'value': value})['value']
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: .tr.cat-list-row0
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 56