Seleniun WebDriver ve Python için oldukça yeniyim ve sorumu temel olabilir. Ben onun XPath ".//*[@id='toplevel_page_menu']/ul/li[2]/a"
olduğunu bilerek, XPath araçlarını, bunun dışında href ayıklamak olmaya çalışıyorumSelenyum Webdriver ve Python'u kullanarak XPath bağlantısını ayırın.
<a class="wp-first-item" href="admin.php?page=account">Account</a>
Ve :
Yani, aşağıdaki HTML kodu var.
Bunu nasıl yaparım?
driver.find_element_by_xpath(".//*[@id='toplevel_page_menu']/ul/li[2]/a").link
veya
driver.find_element_by_xpath(".//*[@id='toplevel_page_menu']/ul/li[2]/a").href
sonuçlanan çalışmıyor gibi görünüyor etmeyin: Ben sonuç "admin.php?page=account"
gibi olmak bekliyorum AttributeError: 'WebElement' object has no attribute 'link'
. Bir sayfaya
element = driver.find_element_by_xpath(".//*[@id='toplevel_page_menu']/ul/li[2]/a")
href = element.get_attribute('href')
print href
Normalde ben gezinmek için Selenyum kullanmak kaynağı almak ve BeautifulSoup ile ayrıştırmak:
get_attribute() işlevinin çalışması için egzotik bir şey almam gerekir mi? Sonunda/href eklenmesi işe yaramıyor gibi görünüyor. –
try 'element = driver.find_element_by_xpath (" .//*[@ id = 'toplevel_page_menu']/ul/li [2]/a ")' 'get_attribute': 'öğesini kullanın. Print element.get_attribute (' href ') '. İşe yarayabilir. Karışıklık için üzgünüm, tipik olarak Selenium üzerinden kaynak veri ayıklamıyorum. Dediğim gibi, genellikle BS kullanırım. – That1Guy