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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: [ปัญหา] การวนลูปใน selenium

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

โดย nuattawoot » 09/05/2018 2:24 pm

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

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

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)

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

โดย rangsan » 09/05/2018 11:44 am

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

โค้ดโดยรวม

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

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 ตัวไหนที่จะใส่ไปใน

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

link_topic = driver.find_elements_by_css_selector('')

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

โดย thatsawan » 01/12/2017 3:24 pm

ถ้างั้นต้องไปแก้ไขส่วนนั้นก่อน ต้องได้ค่ามาก่อน ถึงจะไป loop

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

โดย Panchalee » 01/12/2017 3:20 pm

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

print weblink ได้อะไรออกมา
print weblink แล้วไม่ได้อะไรออกมาเลยค่ะ

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

โดย thatsawan » 30/11/2017 3:25 pm

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

print weblink ได้อะไรออกมา

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

โดย Panchalee » 30/11/2017 3:20 pm

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

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

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()
แต่ลองนำมาปรับเปลี่ยนโค้ดตัวเองแล้ว ยังไม่สามารถคลิกที่หัวข้อบทความได้ ขอคำแนะนำด้วยค่ะ


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

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

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

ข้างบน