[ปัญหา] การวนลูปใน selenium

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

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

User avatar
Panchalee
PHP Super Member
PHP Super Member
Posts: 296
Joined: 30/10/2017 10:10 am

[ปัญหา] การวนลูปใน selenium

Post by Panchalee »

ต้องการให้ selenium เลือกหัวข้อตามที่ต้องการ ในที่นี้ต้องการให้เลือกบทความ
เมื่อเลือกบทความเสร็จ ต้องการกดเข้าไปที่หมวดที่ต้องการ เช่น "ความรู้ทั่วไป" แล้วให้ย้อนกลับออกมาไปกดที่หมวด "จัดการบริหาร โปรเจ็คด้วย DotProject " ให้ทำไปจนครบทุกหมวด
ตัวอย่างรูป
img1.png
ลองใช้โค้ดตาม การเขียนวน loop ของ selenium

Code: Select all

from selenium import webdriver
driver = webdriver.Chrome('/usr/local/lib/python2.7/site-packages/chromedriver')

driver.get("https://www.mindphp.com/forums/index.php")

 weblink = driver.find_elements_by_css_selector('a.forumtitle')
   for w in range(len(weblink)):
    link = driver.find_elements_by_css_selector('a.forumtitle')
     allweb = link[w].get_attribute("href")
     driver.get(allweb.encode('utf-8'))
     driver.back()
แต่ลองนำมาปรับเปลี่ยนโค้ดตัวเองแล้ว ยังไม่สามารถคลิกที่หัวข้อบทความได้ ขอคำแนะนำด้วยค่ะ


ตัวอย่างโค้ดที่ทำ

Code: Select all

from selenium import webdriver
browser = webdriver.Firefox()
#เปิดลิ้งค์เข้า mindphp
browser.get('https://www.mindphp.com/')
time.sleep(01)

weblink = browser.find_elements_by_css_selector('li.item-110 deeper parent dropdown dropdown-large open')
for w in range(len(weblink)):
    link = browser.find_elements_by_css_selector('li.item-110 deeper parent dropdown dropdown-large open')
allweb = link[w].get_attribute("href")
browser.get(allweb.encode('utf-8'))
browser.back()
ตัวอย่างรูปที่แสดงโค้ด
img2.png
User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 27984
Joined: 31/03/2014 10:02 am
Contact:

Re: [ปัญหา] การวนลูปใน selenium

Post by thatsawan »

browser.find_elements_by_css_selector >> หมายถึงต้องเรียกเเบบ CSS ป่าว เช่น (.classname)

print weblink ได้อะไรออกมา
User avatar
Panchalee
PHP Super Member
PHP Super Member
Posts: 296
Joined: 30/10/2017 10:10 am

Re: [ปัญหา] การวนลูปใน selenium

Post by Panchalee »

thatsawan wrote:browser.find_elements_by_css_selector >> หมายถึงต้องเรียกเเบบ CSS ป่าว เช่น (.classname)

print weblink ได้อะไรออกมา
print weblink แล้วไม่ได้อะไรออกมาเลยค่ะ
User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 27984
Joined: 31/03/2014 10:02 am
Contact:

Re: [ปัญหา] การวนลูปใน selenium

Post by thatsawan »

ถ้างั้นต้องไปแก้ไขส่วนนั้นก่อน ต้องได้ค่ามาก่อน ถึงจะไป loop
rangsan
PHP Hero Member
PHP Hero Member
Posts: 199
Joined: 30/04/2018 9:44 am

Re: [ปัญหา] การวนลูปใน selenium

Post by rangsan »

ถ้าเกิดว่าต้องการให้ selenium คลิกเข้าไปที่หมวดความรู้

โค้ดโดยรวม

Code: Select all

link_topic = driver.find_elements_by_css_selector('li.span3')
print(link_topic)
for x in range(len(link_topic)):
    link_topic = driver.find_elements_by_css_selector('li.span3')
    all = link_topic[x].get_attribute("href")
    driver.get(all.encode('utf-8'))
    driver.back()
ภาพของ หน้าเว็บ
ภาพที่ 1
total_topic.png
ภาพที่ 2
topic.png
ต้องใช้ Class ตัวไหนที่จะใส่ไปใน

Code: Select all

link_topic = driver.find_elements_by_css_selector('')
It’s never too late to start again.
User avatar
nuattawoot
PHP VIP Members
PHP VIP Members
Posts: 2559
Joined: 05/06/2017 9:34 am

Re: [ปัญหา] การวนลูปใน selenium

Post by nuattawoot »

ตัวอย่าง กด Path และ นับจำนวนโพสต์

Code: Select all

search1 = driver.find_element_by_link_text('บทความ').click()
search2 = driver.find_element_by_link_text('ความรู้ทั่วไป').click()

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

print (countRow3)
First Bug Love you
Image
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 6 guests